目录
关键字和保留字
关键字
保留字
标识符
命名规则
命名规范
变量
变量的类型:
基本数据类型
引用数据类型
基本数据类型之间的运算规则
强制类型转换
注意的点
字符串类型 String
练习
进制与进制之间的转换(了解)
运算符
包机制
被Java语言赋予了特殊含义,用做专门用途的字符串
特点:关键字所有字母都为小写
现有Java版本尚未使用,但以后版本可能作为关键字使用。
goto、const
对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
class VarTest{ public static void main(String[] args){ int myAge = 10; //变量类型 变量名 = 变量值 System.out.println(myAge); } }
按照数据类型:
long l1 = 23444444L;
char c1 = 'a'; //1 只能写一个字符 char c2 = '\n'; //2 转义字符 char c3 = '\u0043';//3 直接使用Unicode值来表示字符型常量
只讨论前七种类型,不含Boolean类型
自动类型提升:进行运算时,容量(数的范围大小,并非占用的内存大小)小的会转成大的
byte、char、short ---> int ---> long ---> float ---> double
特别的,当byte、char、short做运算时,结果为int类型
class VarTest{ public static void(String[] args){ byte b1 = 2; int i1 = 129; //编译不通过 byte b2 = b1 + i1; int i2 = b1 + i1; System.out.println(i2); } }
需要使用强转符:()
注意:可能导致精度损失
class VarTest{ public static void main(String[] args){ double d1 = 12.3; int i1 = (int)d1;//截断操作 System.out.println(i1); } }
String 是引用数据类型
声明时,使用 双引号 " "
String可以和8中基本数据类型做运算,但只能是连接运算。运算结果仍是String类型
String str = "hello world";//长度没有限制 String str = ""; //也可以为空 int number = 1008; String numberStr = "学号"; String info = numberStr + number; System.out.println(info);
1、
char c = 'a'; int num = 10; String str = "hello"; System.out.println(c + num + str); //107hello System.out.println(c + str + num); //ahello10 System.out.println(c + (num + str)); //a10hello System.out.println((c + num) + str); //107hello System.out.println((str + num) + c); //hello10a
2、 注意单引号和双引号的区别
//输出 * * System.out.println("* *"); //* * System.out.println('*' + '\t' + '*'); //93* System.out.println('*' + "\t" + '*'); //* * System.out.println('*' + '\t' + "*"); //51* System.out.println('*' + ('\t' + "*")); //* *
原码、反码、补码。计算机底层都以补码的方式来存储数据。
public class Demo1 { public static void main(String[] args) { //进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; int i3 = 0x10;//十六进制 System.out.println(i + " " + i2 + " " + i3); System.out.println("==============="); //强制类型转换 char c1 = 'a'; char c2 = '红'; System.out.println(c1); System.out.println(c2); System.out.println((int)c1); System.out.println((int)c2); //Unicode编码 char c3 = '\u0061'; System.out.println('\n' + "C3:" + c3); //转义字符 // \t制表符 // \n 换行符 System.out.println("==============="); String stra = new String("hello world"); String strb = new String("hello world"); String strc = "hello world"; String strd = "hello world"; System.out.println(stra == strb); //false System.out.println(strc == strd); //true //boolean boolean flag = true; if(flag){ } //老手 if(flag == true){} //新手 } }
package Base.operator; public class Demo1 { public static void main(String[] args) { /* 算数运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 条件运算符 扩展赋值运算符 */ //二元运算符 int a = 10; int b = 10; int c = 10; int d = 100; System.out.println(a + b); System.out.println(a - b); System.out.println(c - d); System.out.println((double) c / d); //关系运算符 int a1 = 10; int b1 = 3; //取余运算 System.out.println("取余:" + a1 % b1); System.out.println("=====\n关系运算符,只返回Boolean类型"); System.out.println(a1 == b1); System.out.println(a1 >= b1); System.out.println(a1 < b1); System.out.println(a1 != b1); //自增 ++ 自减 -- int num = 7; System.out.println("初始num: " + num); int b3 = num++; //先赋值,后自增 System.out.println("执行num++: " + b3); num = 7; System.out.println("初始num: " + num); int c3 = ++num; //先自增,后赋值 System.out.println("执行++num: " + c3); //幂运算 double pow = Math.pow(2 , 3); //2的3次方 System.out.println(pow); //逻辑运算符 //与 或 非 boolean bool1 = true; boolean bool2 = false; System.out.println("bool1 && bool2: " + (bool1 && bool2)); //同真则真 System.out.println("bool1 && bool2: " + (bool1 || bool2)); //一真则真 System.out.println("bool1 && bool2: " + !(bool1 && bool2)); //如果是真,则变为假;为假,则变为真。 //短路运算 int c4 = 5; boolean d4 = (c < 4) && (c++ < 4); //判断第一个括号之后,为假,不在执行后面的运算 System.out.println("d4: " + d4); //false System.out.println("c4: " + c4); //5 //位运算 /* A = 0001 1110 B = 0101 0101 A&B、A|B、A^B、~B(取反) << 左移 相当于 *2 2<<3 相当于 2*2*2*2,乘了3个2 >> 右移 /2 */ System.out.println(2<<3); //16 //条件运算符 //x ? y : z //如果x为true,则结果为 y,否则为 z a = 100; String str = a > 90 ? "true" : "false" ; System.out.println(str); //true //字符串连接符 a = 111; b = 222; System.out.println("" + a + b); //111222 } }