已有C语言基础,普通本二到了大三才意识到问题严重,啥都不会,乘着寒假偷学一波,希望能坚持下去吧!
博客拿来记录我的学习记录,前期跟随大部分重温一遍记一些笔记,后期应该就是记录我的学习心得了。
一个大于号加空格是引用
其中1.++空格开始序列
然后shift+tab解除缩进也就是序列
-+空格是以点来显示
public 三个```加上语言名字回车
calc
mspaint
notepad
md 目录名 创建目录
rd 目录名 删除目录
cd> 文件名 创建文件
del 文件名 删除文件
cls 清空屏幕
---------------------------------------------------------------------------------------------------------------
简单性
面向对象
可移植性(最重要的优势)
高性能(及时运行)
分布式
动态性(通过反射机制有了动态性)
多线程
安全性(审核网络式分布设计)
健壮性
java为什么能够成功
赶上互联网发展的时期
JDK: Java Development Kit
JRE: Java Runtime Environment
JVM: JAVA Virtual Machine
JDK包含JRE 多了一些开发者使用的开发工具
JVM可以用软件/硬件实现
可分为解释型 编译型 也是Java实现跨平台的工具
Java安装目录删除
删除环境变量的JAVA_HOME
删除path下关于java的目录
cmd中java -version
百度搜索JDK8,找到下载地址 安装地址
同意协议
下载电脑对应的版本
双击安装
记住安装的路径
配置环境变量
我的电脑-->属性-->高级系统设计-->高级-->环境变量
配置环境-->JAVA_HOME
配置path变量
测试是否安装成功
打开cmd
java -version
随便新建一个文件夹,存放代码
新建一个java文件
编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!"); } }
编译javac java文件,会生成一个class文件
执行class文件,cmd输入java class文件
每个单词的大小写不能出现问题,java对大小写敏感
尽量使用英文
文件名和类名一致且首字母大写
符号使用了中文
compile把我们写的代码编译成机器识别的语言
操作系统、C/C++都是编译
我说一句你解释一句,性能有点损失,用一下解释一下,回头又要重新解释
网页/脚本-->对速度没有很大的需求
---------------------------------------------------------------------------------------------------------------
单行注释 //
多行注释 /* */
文档注释 JavaDoc:文档注释 /** */
平时写代码一定要注意规范
Java所有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符
强类型语言
要求变量的使用严格符合规定,所有变量都必须爱V定义后才能使用
Java的数据类型分为两大类
基本类型 (primitive type)
引用类型 (reference type)
其中long类型的数值要在值后面加个L
float类型要在后面加个F
其中String不是关键字是个类
二进制0b 十进制 八进制0 十六进制0x
float 是有限 离散的 有个舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
BigDecimal 一个数学工具类 用来比较
所有的字符本质还是数字 比如97 = a
Unicode编码 2个字节 0 - 65536
转义字符
\t 制表符
\n 换行
String ca = new String("Hello,word!"); String cb = new String("Hello,word!"); System.out.println(ca == cb); //false String cd = ("Hello,word!"); String ce = ("Hello,word!"); System.out.println(cd == ce); //true
低-------------------------------------------------------高
byte,short,char-->int-->long-->float-->double
运算中,不同类型的数据先转化为同一类型,然后进行运算
强制类型转换
高---->低
自动类型转换
低---->高
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换到低容量的时候,
转换的时候可能存在内存溢出,或者精度问题
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
每个变量都有类型,类型可以是基本类型,也可以是引用类型(String)
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个生命都必须以分号结束
类变量
static定义
实例变量
从属于对象
局部变量
必须声明和初始化值
初始化后不能再改编自!不会变动的值
所谓常量可以理解为一种特殊的变量,他的值设定后,在程序运行过程中不允许被改变
final 常量名 = 值;
static final double PI = 3.14;
final static double PI = 3.14;
public class Demo { //实例变量;从属于对象 //布尔值,默认是false //出了基本类型,其余的默认值都是null String name; int age; //类变量 static static double salary = 2500; //main 方法 public static void main(String[] args) { //局部变量,必须生命和初始化值 int i = 10; System.out.println(i); //变量类型 变量名字 = new Demo() Demo demo = new Demo(); System.out.println(demo.age); //类变量 System.out.println(salary); } }
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外。后面的单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMain
方法名:首字母小写和驼峰原则:run(),runRun()
不通类型的相加中最终的结果由其中的最高类型决定
如果没有上面类型,不管是什么类型加出来都是int类型
int a = 3; int b = a++; //这里是a先赋值再自增,所以b=3 int c = 3; int b = ++c; //这里是c先自增再复制,所以b=4
^异或
~取反
其中>>>是右移且最高位补0
而>>是右移但是正数补0负数补1
int a = 10; int b = 20; System.out.println(""+a+b); //输出1020相当于字符串连接了 System.out.println(a+b+""); //输出30
三目运算符?:
x ? y:z //如果X的值为真结果为y否则为z
一般利用公司域名倒置作为包名
为了能够使用某一包的成员,我们在java程序中明确导入该报使用"import"语句可以完成此功能
javadoc命令式用来生成自己的API文档的
在类或方法上面/**+回车自动生成
在目录cmd后输入javadoc -enconding UTF-8 -charset UTF-8
或者直接用IDEA生成:Tools---->Generate JavaDoc