注释
-
创建新项目,建立空项目,取名JavaSE,finish
-
file-new 模块,建立Java项目,取名基础语法
-
file-project structure或按钮 点project,选择自己Java版本,等级设置为8,Apply,OK
-
出现scr,右键new class,取名HelloWorld
-
psvm,sout("Hello,World!"),跑一下
-
单行注释 //输出一个Hello,World!
-
多行注释/* 内
容*/
-
文档注释/**回车
-
更改注释颜色 file-edtior-color scheme-Java-comments
-
百度搜有趣的注释
标识符和关键字
public class Demo01 { public static void main(String[] args) { //标识符开头以字母A-Z或a-z,$,_开始,首字符后随意,不能用关键词作变量名 String Hello="zhengtu"; String hello="zhengtu"; String $hello="zhengtu"; String _hello="zhengtu"; /*错误用法 String 1hello="zhengtu"; String #hello="zhengtu"; String *hello="zhengtu"; String -hello="zhengtu"; String class="zhengtu";*/ //标识符大小写敏感,大小写定义含义不同 String MAN="zhengtu"; String man="zhengtu"; //可用中文命名,但不规范 String 王者荣耀="百星王者"; System.out.println("王者荣耀"); } }
数据类型
所有变量必须先定义后才能使用
public class Demo02 { public static void main(String[] args) { String a="hello"; //八大基本数据类型 //整数 int num=10;//最常用,4字节 byte num2=20;//1字节 short num3=30;//2字节 long num4=30L;//注意数字后加L,8字节 //小数,浮点数 float num5=50.1F;//注意加F,4字节 double num6=3.14159265358979;//8字节 //字符 char name='A';//2字节 //字符串,String不是关键字,类 String namea="征途"; //布尔值 boolean flag=true;//占1位 boolean flat=false; System.out.println(a); System.out.println(num); } }
数据类型扩展及面试题
public class Demo03 { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i=10; int i2=010;//八进制0 int i3=0x10;//十六进制0x 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=12331213211131321f; 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'; System.out.println(c3);//a //转义字符 //\t 制表符 //\n 换行 System.out.println("Hello\tWorld"); System.out.println("====================================================="); String sa=new String("hello world"); String sb=new String("hello world"); System.out.println(sa==sb);//false String sc="hello world"; String sd="hello world"; System.out.println(sc==sd);//true //对象 从内存分析 //布尔值扩展 boolean flag=true; //if (flag){} 老手,代码精简易读 if (flag == true) { System.out.println("OK"); } } }
类型转换
低到高,小数优先
public class Demo05 { public static void main(String[] args) { int i=128; byte b=(byte) i;//内存溢出,强制转换要避免溢出 double c=i; //byte,short,char---int---long---float---double //强制转换 (类型)变量名 高-低 //自动转换 低-高 System.out.println(i); System.out.println(b); System.out.println(c); /*注意点 1.不能对布尔值进行转换 2.不能把对象类型转换成不相干类型 3.高=低 强制转换 4.转换时可能存在内存溢出,或精度问题 */ System.out.println("========================================="); System.out.println((int)23.7);//23 精度问题 System.out.println((int)-47.89f);//-47 System.out.println("========================================="); char d='a'; int e=d+1; System.out.println(e); System.out.println((char) e); } }
乘法中溢出问题
public class Demo06 { public static void main(String[] args) { //操作比较大的时候,注意溢出问题 //JDK7新特性,数字之间可用下划线分割 int money=10_0000_0000; int years=20; int total=money*years;//-1474836480 计算溢出 long total2=money*years;//-1474836480 计算溢出 //默认是int 转换之前已经存在问题 long total3=money*((long)years); System.out.println(total); System.out.println(total2); System.out.println(total3); } }