Java学习笔记--基础语法
JAVA基础语法
JAVA注释
- 行级注释: //
- 块级注释: /*.....*/
- 文档注释: /**......*/
标识符号
关键字
标识符
- 所有标识符都应以字母,$ 或者 _开始
- 不能使用限定符
- JAVA大小写敏感
数据类型
JAVA基本类型
数值类型
- 整数类型
byte : 1个字节
short: 2个字节
int: 4个字节
long: 8 个字节 - 浮点类型
float: 4个字节
double: 8个字节 - 字符类型
char: 2个字节
boolean类型
true false
引用类型
类 字符 接口
进制表示
整数
二进制: 0b
八进制: 0
十六进制: 0x
浮点数
尽量少使用浮点数进行比较,如使用则最好使用完全浮点数进行比较
大数类 BigDecimal 可用于大数比较
字符
所有字符本质上是数字 例如: c = '\u0063'
转义字符
\t //制表符
\n //换行
.......
类型转换
JAVA运算过程中不同类型的数据优先转换为同一数据类型再进行运算.
类型转换优先级
将高容量转换成低容量时,需进行类型强制转换
int a = 12;
byte b = (byte)(a);
操作比较大的数时注意溢出问题
不能对bool类型进行转换
JDK7新特性, 数字之间可以用下划线分割
int money = 10_0000_0000;
变量
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Demo_3 {//实力类型如不初始化输出为默认值 0和false
String name;
int age;
static double salary = 2500; //类变量 static 变量从属于这个类,可在类中直接调用
public static void main(String[] args) { //main方法
int i = 10; //局部变量必须声明和初始化
System.out.println(i);
Demo_3 demo_3 = new Demo_3();
System.out.println(demo_3.age);
System.out.println(salary);
}
}
常量
public class Demo_4 {
static final double PI = 3.14159; // final标识为常量
}
变量命名规范
java运算符
算数运算符
+ - * /
public class Demo1 {
public static void main(String[] args) {
int a = 10;
int b = 20; // Ctrl + D 复制到下一行
int c = 30;
int d = 40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*d);
System.out.println(a/(double)d); //运算结果默认为int
System.out.println(a>>2);
}
}
public class Demo2 {
public static void main(String[] args) {
long a = 6789929333L;
int b = 1223;
short c = 122;
byte d = 12;
System.out.println(a+b);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
public class demo4 {
public static void main(String[] args) {
int a = 3;
int b = a ++; //先幅值再自加 等价于 b = a; a = a + 1;
int c = ++ a; //先自加再幅值 等价于 a = a + 1; b = a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
double pow = Math.pow(2,3); // 幂运算 pow = 2^3
System.out.println(pow);
}
}
public class Demo7 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a += b; //a=a+b;
a -= b; //a=a-b;
//字符串连接符
System.out.println(a);
System.out.println(a+b);
System.out.println(""+a+b); //输出1020,java遇到字符串+数字时会
// 将数字转换成字符串进行拼接
System.out.println(a+b+"");//输出30,先顺序运算再转换拼接
}
}
关系运算
public class Demo3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 21;
System.out.println(a==b);
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a!=b);
System.out.println(c%b);
}
}
逻辑运算
public class Demo5 {
public static void main(String[] args) {
// 与 或 非
boolean a = true;
boolean b = false;
System.out.println(a&&b);
System.out.println(a||b);
System.out.println(!(a&&b));
// 短路运算:即一旦能够明确无误地确定整个表达式的值,
// 就不再计算表达式余下部分了。
// 因此,整个逻辑表达式靠后的部分有可能不会被运算。
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c); //输出5
}
}
位运算符
public class Demo6 {
public static void main(String[] args) {
int a = 0b0011_1100;
int b = 0b0000_1101;
int c = a&b; //和
int d = a|b; //或
int e = a^b; //异或
int f = ~a; //非
int g = a>>2; //右移/2
int h = a<<2; //左移*2
/*
位运算的效率时最高的
2*8最快的运算方式为8<<1
*/
}
}
三元运算符
public class Demo8 {
public static void main(String[] args) {
//三元运算符
//x ? y : z
//x = true ,输出y,否则输出z
int score = 60;
String type = score >= 60 ? "及格":"不及格";
System.out.println(type);
}
}
扩展幅值运算符
public class Demo7 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a += b; //a=a+b;
a -= b; //a=a-b;
//字符串连接符
System.out.println(a);
System.out.println(a+b);
System.out.println(""+a+b); //输出1020,java遇到字符串+数字时会
// 将数字转换成字符串进行拼接
System.out.println(a+b+"");//输出30,先顺序运算再转换拼接
}
}
java包机制
JavaDoc
JavaDoc命令用于生成自己的API文档
/**类注释
* @author hu
* @version 1.1
* @since 1.8
*/
public class Doc {
String name;
/** '/**'加回车自动生成
* 方法注释
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
命令行生成 JavaDoc文档
filepath> javadoc 参数 xx.java
IDEA 生成JavaDoc
Tools-> Generate JavaDoc