java基础语法
注释、标识符、关键字
注释:书写注释是一个非常好的规范
psvm main
sout print
新建-空项目-项目结构-勾选本机下载相关-新建类
单行注释://
多行注释: /* */
JavaDoc(文档注释): /**
@Description HelloWorld
*/
标识符注意点:
-
以字母、美元符$、下划线_开始
-
首字母之后可以是字母、美元符、数字的任何字符组合
3. ***不能使用关键字作为变量名或方法名*** 4. 标识符是大小写敏感的 5. ***可以使用中文名,但一般不建议,也不建议使用拼音***
关键字
java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性高,速度慢)
String 字符串类型
Java的数据类型分为两大类
-
基本类型(primitive type)
数值类型
-
整数类型:byte占1个字节范围:-128-127
short占两个字节:-32768-32767
int占4个字节:21亿
long占8个字节
-
浮点类型:float占4个字节
double占8个字节
-
字符类型char占2个字节(是指计算机中使用的字母、数字、字和符号
boolean类型:占1位其值只有true和false
public class 数据类型 { public static void main(String[] args) { //八大基本数据类型 //整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 30L; //Long类型要在数字后面加个L //小数;浮点数 float num5 = 50.1F;//Lfloat类型要在数字后面加F Double num6 = 3.14159263133334487664; //字符,一个 char name = 'A'; //字符串,String不是关键字,类 //String namea ="洙鹿"; //布尔值:是非 boolean flag = true; //boolean flag = false; } }
-
-
引用类型(reference type)
public class Demo03 { public static void main(String[] args) { //整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010;//八进制0 int i3 = 0x10;//十六进制0x 0~9 A~F 16 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 = 232323232323232323f; 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 Excel 2E16 = 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); String sc = "hello world"; String sd = "hello world"; System.out.println(sc==sd); //对象 从内存分析 //布尔值扩展 Boolean flag = true; if (flag==true){} //新手 if (flag){} //老手 //Less is More! 代码要精简易读 } }
强制类型转换
public class Demo04 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 (类型)变量名 高--低
//自动转换 低--高
double c =i;
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)-45.89f); //-45
System.out.println("===============================");
char x = 'a';
int d = x+1;
System.out.println(d);
System.out.println((char)d);
}
}
注意问题
public class Demo06 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了
long total12 = money*years;//默认是int,转换之前已经存在问题了?
long total13 = money*((long)years);//先把一个数转换为long
System.out.println(total13);
//L
}
}