单行注释(//) 多行注释(/* */) 文档注释(/** */)
//javaDoc:文档注释 /** * @Description helloworld * @author qjg */
1.所有标识符都应该以字母,美元符或下划线开始 2.首字之后可以是字母,美元,下划线,数字任意组合 3.不能使用关键字走位变量名或方法名 4.标识符大小写敏感
要求变量的使用严格符合规定,所有变量先定义再使用
byte:1字节,-128-127
short:2字节,-32768-32767
int: 4字节,-2147483648-2147483647
Long:8字节,-9223372036854775808-9223372036854775807
float:4字节
char:2字节
类,接口,数组
1.范围低->高:byte,short,char->int->long->float->double
2.注意点:
不能对布尔值进行转换
不能把类型转换为不相干类型
高容量转换到低容量时强制转换
转化的时候可能存在内存溢出或者精度问题
基本数据类型
。
//整数 int num1 = 10;//最常用 byte num2 = 20; short num3 = 30; long num4 = 30L;//long类型要在数字后面加l //小数:浮点数 float num5 = 50.1F;//float类型要在数字后面+F double m = 3.1415926; //字符 char name = '秦'; //字符串,String不是关键字,是类 //String namea = "秦敬国"; //布尔值:是非 boolean flag = true; //boolean flag = false;
类型扩展
。
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i1 = 10; int i2 = 010;//八进制 int i3 = 0x10;//十六进制 System.out.println(i1); System.out.println(i2); System.out.println(i3); //浮点数拓展 银行业务表示 //bigDecimal 数学工具类 //float //double //最好完完全避免使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d);; float d1 = 11111111111111f; float d2 = d1 + 1; System.out.println(d1 == d2); //字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强制转换类型 System.out.println(c2); System.out.println((int)c2);//强制转换类型 //所有的字符本子是数字 //编码 Unicode 表:(97 = a 65 = A)2字节 0-65536 char c3 = '\u0061';//Unicode编码表示方式 System.out.println(c3); //a //转义字符 // \t 制表符 System.out.println("hello\tworld"); //\n 换行 System.out.println("hello\nworld"); //...... //对象,从内存分析 String sa = new String("hello world"); String sb = new String("hello world"); System.out.println(sa == sb); String sc = "hello world"; String sd = "hello world"; System.out.println(sc == sd); //布尔值拓展 boolean flag = true; if(flag) {}//= if(flag == true){} }
数据类型转换
int i1 = 127; byte b1 = (byte)i1; System.out.println(i1); System.out.println(b1); //byte内存溢出 int i2 = 128; byte b2 = (byte)i2; System.out.println(i2); System.out.println(b2); //强制转换 高->低 //自动转换 低->高 System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45 char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d);
不同数据类型的计算
。
//操作比较大的数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; System.out.println(money); int years = 20; int total = money*years;//计算时溢出 long total2 = money*years;//默认是int,转换前已存在问题 long total3 = money*((long)years);//计算前先把一个数转换成long System.out.println(total3);
①java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域
②每个变量都有类型,类型可以是基本类型,也可以是引用类型
③变量名必须是合法的标识符
④变量声明是一条完整的语句,因此每一个声明都必须以分号结束
⑤作用域:类变量,实例变量(全局变量),局部变量
变量
//类变量 static double salary = 2500; //属性:变量 //实例变量(全局变量):从属于对象; //布尔值:默认是false //除了基本类型,其余的默认值都是null String name; int age; //main 方法 public static void main(String[] argv) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); //变量类型 demo07 demo07 = new demo07(); System.out.println(demo07.age); System.out.println(demo07.name); //类变量 static System.out.println(salary); } //其他方法 public void add() { }
①所有变量,方法,类名:见名知意
②类成员变量:首字母小写和驼峰原则:mouthSalary
③局部变量:首字符小写和驼峰原则
④常量:大写字母和下划线:MAX_VALUE
⑤类名:首字母大写和驼峰原则:ManGoodMan
⑥方法名:首字符小写和驼峰原则:run(),runRun()
①初始化后不能改变值:final double pi = 3.14;
②常量名一般使用大写字符
下面展示一些 内联代码片
。
//修饰符,不存在先后顺序 static final double pi = 3.14; //= final static double pi = 3.14; public static void main(String[] argv) { System.out.println(pi); }
//二元运算符 //ctrl+d:赋值当前行到下一行(idea) int a = 10; int b = 20; int c = 25; int d = 25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b);
不同长度的整数型数据进行计算时自动转换成高位次的整数型
。
long a = 123123123123L; int b = 123; short c = 10; byte d = 8; System.out.println(a+b+c+d);//long System.out.println(b+c+d);//int System.out.println(c+d);//int
字符串的转换
int a = 10; int b = 20; a+=b;//相当于a = a + b a-=b;//相当于a = a-b System.out.println(a); //字符串连接符 +,String System.out.println(""+a+b);//先变成字符串再进行字符串加减 System.out.println(a+b+"");//先计算a+b再变成字符串加减
关系运算符的返回结果
int a = 10; int b = 20; int c = 21; System.out.println(c%a);//取余(模运算) System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b);
//与 或 非 boolean a = true; boolean b = false; System.out.println("a && b:"+(a&&b));//逻辑与运算:两变量都为真,结果为true System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才为true System.out.println("!(a && b:)"+!(a&&b));//如果是真,则变为假,如果是假则变为真 //短路运算:逻辑运算时,若执行第一个变量是可以得出结论则不执行第二个变量 //逻辑与运算短路实验 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(c); System.out.println(d); //逻辑或运算短路实验 int e = 5; boolean f = (e>4)||(e++>4); System.out.println(e); System.out.println(f);
/* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B = 1111 0010 2*8 =16 2*2*2*2 << >> */ System.out.println(2<<3);//位运算,将10左移三位为1000即相当于2^3
//x?y:z //如果x==true,则结果为y,否则结果为z //相当于if int score = 50; String type = score<60?"不及格":"及格"; System.out.println(type);
一元运算符
。
//++ 自增 -- 自减 一元运算符 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,再自增 //a++ a = a+1; System.out.println(a); //a = a+1; int c = ++a;//执行完这行代码前,先自增,再赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 2^3 double pow = Math.pow(2, 3); System.out.println(pow);
包语句语法格式:package pkg1[.pkg2[.pkg3…]];
(一般利用公司域名倒置作为包名)
导入包:import package1[.package2…].(classname|*);