-
注释、标识符、关键字
-
数据类型
-
类型转换
-
变量、常量
-
运算符
-
包机制、JavaDoc
BaseDemo01
public class Demo01 { public static void main(String[] args) { String 王者荣耀="倔强青铜"; System.out.println(王者荣耀); } }
Demo02
public class Demo02 { public static void main(String[] args) { //八大基本数据类型 //整数 //Integer//Ctrl+左键 int num1 = 1;//最常用 byte num2 = 20; short num3 = 30; long num4 = 30L;//Long类型数字后加个L //小数:浮点数 float num5 = 50.1F;//float类型数字后加个F double num6 = 3.141592653589793238462643; //字符 char name = 'A'; char name1 = '俊'; //字符串,String不是关键字,是类 String namea = "陈晓"; //布尔值:是非 boolean flag = true; //boolean flag = false; } }
Demo03
public class Demo03 { public static void main(String[] args) { //整数拓展:进制 二进制0b 十进制 八进制0 十六进制0x int i =10; int i2 =010;//八进制0 int i3 =0x1F;//十六进制0x 0~9 A~F 10 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("============================"); //======================================= //浮点数拓展 银行业务怎么表示? //Bigdecimal 数学工具类 //======================================= //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全避免使用浮点数进行比较 //最好完全避免使用浮点数进行比较 //最好完全避免使用浮点数进行比较 float f = 0.1f;//0.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false float d1 = 2312121212121212f; float d2 = d1+1; System.out.println(d1==d2);//true System.out.println("================================"); //====================================== //字符拓展 //====================================== 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 //U0000 UFFFF char c3 = '\u0061';//十六进制,即十进制的97,即a System.out.println(c3); //转义字符 // \t 制表符 // \n 换行 //..... System.out.println("com.kuangstudy.base.Hello\tWorld"); //布尔值拓展 boolean flag = true; if(flag=true){} //新手 if (flag) {} //代码要精简易读 //Less is More! } }
Demo04
public class Demo04 { public static void main(String[] args) { int i = 128; byte b = (byte)i;//内存溢出 //强制转换 (类型)变量名 高-->低 //自动转换 低-->高 byte,short,char ->int ->long ->float ->double System.out.println(i); System.out.println(b); /*注意点 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 在把高容量转换到低容量的时候,强制转换 4. 转换的时候可能存在内存溢出,或者精度问题! */ System.out.println("========================="); System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45 System.out.println("========================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d);//97即a,98即b } }
Demo05
public class Demo05 { public static void main(String[] args) { //操作比较大的数的时候,注意溢出问题 //JDK新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算的时候溢出了 long total2 = money*years;//先计算,后赋值(默认是int) long total3 = money*(long)years;//先把一个数转换为Long System.out.println(total3); } }
Demo06
//类 public class Demo06 { //类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象;如果不进行初始化,这个类型的默认值 0 0.0 //布尔值:默认是false //除了基本类型,其余的默认值都是null; String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字 = new com.kuangstudy.base.Demo06(); Demo06 demo06 = new Demo06();//new com.kuangstudy.base.Demo06; Alt+回车 System.out.println(demo06.age);//demo06.age.sout System.out.println(demo06.name); } //其他方法 public void add(){ } }
Demo07
public class Demo07 { //修饰符,不分先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); } } /*所有变量 方法 类名:见名知意 类成员变量:首字母小写和驼峰原则monthSalary lastName 局部变量:首字母小写和驼峰原则 方法名:首字母小写和驼峰原则 常量:大写字母和下划线MAX_VALUE 类名:首字母大写和驼峰原则Man GoodMan */
Doc
/** * @author Kuangshen * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author Kuangshen * @param name * @return * @throws Exception */ public String test(String name)throws Exception{ return name; } //通过命令行 Javadoc 参数 Java文件 //学会查找使用IDEA生产JavaDoc文档! 面向百度编程! }
Hello
public class Hello { public static void main(String[] args) { //输出一个HelloWorld /*多行注释 */ /** * @Description HelloWorld * @Author AJ */ System.out.printf("com.kuangstudy.base.Hello,World!\n"); } }
OperatorDemo01
public class Demo01 { public static void main(String[] args) { //二元运算符 //Ctrl+D:复制当前行到下一行 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); } }
Demo02
public class Demo02 { public static void main(String[] args) { long a =123232323123L; int b = 123; short c = 10; byte d = 8; double e = 10.8; System.out.println(a+b+c+d);//Long System.out.println(b+c+d);//int System.out.println(c+d);//int //System.out.println((String)(c+d)); //Inconvertible types; cannot cast 'int' to 'java.lang.String' System.out.println(c+d+e);//double } }
Demo03
public class Demo03 { public static void main(String[] args) { //++ -- 自增 自减 一元运算符 int a = 3; int b = a++;//b=a a=a+1 //先赋值,再自增 int c = ++a;//c=a+1 //先自增,后赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 2^3 2*2*2 double pow = Math.pow(2,3); System.out.println(pow); } }
Demo04
public class Demo04 { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("a&&b:" +(a&&b)); System.out.println("a||b:" +(a||b)); System.out.println("!(a&&B):" +!(a&&b)); //短路运算 int c = 5; boolean d = (c<4)&&(c++<4);//前面错,后面不执行 System.out.println(c); boolean e = (c>4)&&(c++>4);//前面正确,后面执行 System.out.println(c); System.out.println(d); System.out.println(e); } }
Demo05
public class Demo05 { public static void main(String[] args) { /* A= 0011 1100 B= 0000 1101 --------------------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B = 1111 0010 << *2 >> /2 效率极高 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); } }
Demo06
public class Demo06 { public static void main(String[] args) { int a = 10; int b = 20; a += b; System.out.println(a); //字符串连接符 + , String System.out.println(""+a+b); System.out.println(a+b+""); } }
Demo07
import java.util.Date;//Date Alt+回车 import com.kuangstudy.base.*;//导入这个包下所有的类 public class Demo07 { public static void main(String[] args) { //x ? y : z 三目运算符 //如果x == true,则结果为y,否则结果为z int score = 80; String type = score<60 ? "不及格" : "及格"; //必须掌握 //if System.out.println(type); } }