初学Java可以看看这些视频,干货满满
https://www.bilibili.com/video/BV12J41137hu?p=30&spm_id_from=pageDriver
标识符
- 由字母、下划线、数字和美元符号组成
- 首字母以字母、下划线和美元符开头
- 不能有特殊字母
- 不能使用关键字
- 大小写敏感 name与Name不同
- 虽然可以使用中文或拼音,但不建议哦
Java是强类型语言,所有变量都必须先申明
基本数据类型
- 整数
byte
int
short
long
//数据类型拓展
//进制 二进制0b 十进制 八进制0 十六进制0x
int num1 = 10;
int num2 = 010; //八进制0
int num3 = 0x10; //十六进制0~9 A~F
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
输出结果:
10
8
16
- 小数/浮点数
float 有限的 离散 有舍入误差 大约
最好避免使用float进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
float d1 = 23123123123123;
float d2 = d1 + 1;
System.out.println(d1==d2)//true
double
- 字符型
char
//字符型拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(int(c1));//强制转换
System.out.println(c2);
System.out.println(int(c2));//强制转换
char c3 = '\u0061';//编码表 Unicode表:(a = 97 A = 65)
System.out.println(c3);
输出结果:
a
97
中
20013
a
所有的字符本质还是数字(有具体的编码表)
String s1 = new String(original:"hello world");
String s2 = new String(original:"hello world");
System.out.println(s1==s2);//false
String s3 = "hello world";
String s4 = "hello world";
System.out.println(s3==s4)//true
- 布尔型
boolean
boolean flag = true;
if(flag==true){}
if(flag){}
//以上两个语句都是正确的,效果相等
类型转换
低------------------------------------------------------>高
byte,short,char—>int—>long—>float—>double
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 再把高容量转换到低容量的时候,强制转换
- 转换 的时候可能存在内存溢出,或精度问题
//内存溢出
int i = 128;
byte b = (int)i;
double c = i;
System.out.println(i);//128
System.out.println(b);//-128
System.out.println(c);//128.0
int money = 10_0000_0000;//_数字分隔符,若输出money,不会输出下划线
int year = 20;
int result = money*year;//数值溢出
long result1 = money*year;//仍然溢出,因为是两个int相乘还是int,int->long与上一个语句输出相同
long result2 = money*((long)year);//正确输出200_0000_0000
//精度问题
System.out.println((int)23.7);//23
System.out.println((int)-45.78f);//-45
char c = 'a';
int d = c + 1;
System.out.println(d);//98
System.out.println(char(d));//b
变量
- 每个变量都有类型,类型可以实基本型,也可以是引用型(String)
- 变量名必须是合法标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
命名规范
要养成良好的习惯!!!
- 命名:见明知意
- 常量全部大写+下划线
- 类变量:首字母大写+驼峰原则
- 其他首字母小写+驼峰原则
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Test {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不初始化,都会变成默认值
//布尔值默认false
//其他 不是null 就是0
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new test(这个test类中是这样)
test test = new test();
System.out.println(test.age);
System.out.println(test.name);
//类变量,可以直接输出
System.out.println(salary);
}
}
常量
不会改变的量
public class Test {
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
运算符
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符:&&,||,!
- 条件运算符:?:
x?y:z
如果x==true,则结果为y,否则结果为z - 拓展运算符:+=,-=,*=,/=
- 位运算符:&,|,~,^(异或),<<,>>,
注意点:
- / 若两边的数据类型是整型,那么是整除
- 判断相等必须要两个等号 ==
- ++自加 --自减 经常使用
b= a++ 先赋值,再自加
b=++a 先自加,再赋值 - java内没有幂的符号,可以使用Math类里的方法pow
- 逻辑运算中有一些特殊的短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
输出结果:
false
5
为什么是5?
判断与的时候前面的是false时,后面的就不进行下去了,直接输出false;相同还有或,前面的是true后面的就不进行
- 位运算符计算速度快,效率高
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001 不同的输出1,相关的还有同或
~B = 1111 0010
<< 左移 每移一位相当于 *2
>> 右移 每移一位相当于 /2
若计算2*8,则使用位运算最快
只需 2<<3 (意思是0000 0010 左移3位变成0001 0000
*/
- 拓展运算符
int a=10;
int b=20;
a += b; //a = a+b
a -= b; //a = a-b
//字符连接符 +
System.out.println(" "+a+b); //输出1020 (字符串型)
System.out.println(a+b+" "); //输出30 (字符串型)
JavaDos
在Java文件内添加文档注释,文档注释有以下内容
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
百度上搜索 jdk帮助文档
选择相应的版本,里面可以看到很多类
我们自己可以生成自己的帮助文档
在写了文档注释的java类里找到文档路径
在我的电脑中找到相应路径,
搜索框内最前面输入cmd 回车 呼出终端
在终端内填写 javadoc 参数 Java文件
在原来的文件下就会生成与多.html文件
而 index.html 是Java文件的生成的帮助文档的首页
其中的参数 可以有 -encoding UTF-8 -charset UTF-8 作用是:减少乱码
今日总结就是这些啦!!!
每天都要开心,没准下一秒有伤心事,趁现在没有自然要开心点!(๑><๑)