数据类型
//整数 int num1 = 10; byte num2 = 20; short num3 = 30; long num4 = 30L; //long 后面加要L //小数 float num5 = 50.1f; double num6 = 3.132123123; //字符 char name = '国'; //字符类型 //布尔值:是非 boolean flag = true;
什么是字节
-
1bit 表示1位
-
1Byte 表示一个字节 1B = 8b
-
1024b = 1kb
-
1024 kb = 1M
-
1024M = 1G
数据类型扩展
字符型
//字符型 char c1 = 'a'; char c2 = '中'; System.out.println(c1); // = a System.out.println((int) c1 ); // = 97 强制类型转化 System.out.println(c2); // = 中 System.out.println((int) c2 ); // = 20013 强制类型转化 char c3 = '\u0061'; System.out.println(c3); // = a
类型转换
int i = 1; byte b = (byte) i; System.out.println(b); char c = 'a'; int d = c; System.out.println(d); // = 98 System.out.println((char) d); // = b //数字之间可以用下划线分割 jdk7以上 int money = 10_0000_0000;
布尔不能进行转换
变量
变量的命名规范
-
所有变量、方法、类名必须遵守:见名知意
-
类成员变量:首字母小写,除了第一个单词意外,后面的单词首字母大写
-
局部变量:首字母小写,除了第一个单词意外,后面的单词首字母大写
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写,除了第一个单词意外,后面的单词首字母大写
-
方法名:首字母小写,除了第一个单词意外,后面的单词首字母大写
类变量 static
public class Hello { static String name; //加上static可以直接调用不用 new 对象了 int age; private String string; public static void main(String[] args) { Hello hello = new Hello(); System.out.println(name); //加上static System.out.println(hello.age); //不加static System.out.println(hello.string); //不加static } }
常量final
public class Hello { static final double PI = 3.14; //用户定义不会变的值 public static void main(String[] args) { System.out.println(PI); } }
运算符 Operator
-
算数运算符:+,-,*,/,%,++,--
-
赋值运算符:=
-
关系运算符:>,<,>=,<=,==,!=,instanceof
-
逻辑运算符:&&,||,! 与或非
int a = 10; int b = 20; System.out.println(a/(double)b); // = 0.5 转一个为double
int a = 10; int b = 20; int c = 22; System.out.println(c%2); // = 0 取余 System.out.println(a>b); // = false System.out.println(a<b); // = true System.out.println(a==b); // = false System.out.println(a!=b); // = true
自增自减
a++ 先赋值再自增
++a 先自增再赋值
int a = 3; int b = a++; System.out.println(a); //a = 4 System.out.println(b); //a = 3 int c = ++a; System.out.println(c); //a = 5
幂运算
double pow = Math.pow(3,2); //3 的2次幂 System.out.println(pow); //= 9.0 double pow1 = Math.pow(3,3); //3 的3次幂 System.out.println(pow1); //= 27.0
逻辑运算
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); //c++<4没有被运行 && 当遇到false时就不执行了 System.out.println(d); System.out.println(c);
位运算
A = 0011 1100 B = 0000 1101 A&B = 0000 1100 //两个进行比较 都为1 才会为1 A|B = 0011 1101 //只要有一个1 则为1 都为0才为0 A^B = 0011 0001 //两个位置相同为0 否则为1 ~B = 1111 0010 //取反 System.out.println(2<<2); // = 8 System.out.println(2<<3); // = 16 System.out.println(2<<4); // = 32
三元运算符
int a = 10; int b = 20; a += b; System.out.println(a); // = 30 a -= b; System.out.println(a); // = 10 System.out.println(""+a+b); // = 1020 System.out.println(a+b+""); // = 30 int score = 20; String type = score<60 ?"不及格":"及格"; System.out.println(type);