JAVA基础
三种注释及设置
注释的基本设置
File--->setting--->Etidor--->Java--->comments(注释)
单行注释
//单行注释
多行注释
/* 多行注释 多行注释 多汗注释 */
文档注释(基于JavaDoc)
/** * @author 丹小宇 * * * * * */
标识符
常见的关键字(不可用作变量名)
| abstract | assert | boolean |break|byte|
| ---- | ---- | ---- |----|----|----|
| case | catch |char |class|const|
|continue|default|do|double|else|
|enum|extends|final|finally|float|
|for|goto|if|implements|import|
|instanceof|int|interface|lomg|native|
|new|package|private|protected|public|
|return|strictfp|short|static|super|
|switch|synchronized|this|throw|throws|
|transient|try|void|volatile|while|
JAVA所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
标识符的注意点
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始及首字符
- 首字符之后可以是字母,美元符,下划线,或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符需要区分大小写,大小写所表示的标识符含义不同
- 合法的标识符 例如: age、 _value、 _1_value
- 非法的标识符 例如: 123abc、 -salary、 #abc
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
JAVA的数据类型(两类)
基本类型(primitive type)
整数类型
整数类型 | byte | short | int | long |
字节(个) | 1 | 2 | 4 | 8 |
范围 | -128-127 | -32768-32767 | -2100000000 | 很大 |
浮点类型
浮点类型 | float | double |
字节(个) | 4 | 8 |
字符类型和字符串
- 字符类型 char 占2个字节
- 字符串 Sting 注意字符串String 不是标识符
boolean类型
占一位其值只有 ture 和 false 两个
类型代码块
public class HelloWorld { public static void main(String[] args) { //八大数据类型
//整型(整数) int num1 = 10 ; //int型最为常用 byte num2 = 20; short num3 = 30; long num4 = 30L; //Long类型要在数字后面加 L(大写) 与int型进行区分 //小数:浮点数 float num5 = 50.1F; //float类型要在数字后面加 F(大写) 符合代码规范 double num6 = 3.1415926535; //字符 char name = '国'; char namea = '国'; //字符用单引号 '' //字符串,String不是关键字,类 String nameb = "I Love China"; //布尔值:判断是非 boolean flag = ture; //boolean flag = false; }
整型拓展
表示不同进制下的10的输出
public class HelloWorld { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i=10; int i1=010; //八进制0 int i2=0x10;//十六进制0x 0~9 A~F 15 System.out.println(i); System.out.println(i1); System.out.println(i2); } }
输出结果: i = 10; i1 = 8; i2 = 16; 各进制的10转换成int(默认为10进制)d的输出结果
数据类型的计算
public class HelloWorld { public static void main(String[] args) { //==================================== //浮点数拓展? 银行业务怎么表示? 钱 //BigDecimal 数学工具类 //==================================== //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全使用浮点数进行比较 //例如: float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //==表示判断 f和d 是否相等 //输出结果为boolean型--->结果为false //原因:类型不同 float d1 = 233333333333F; float d2 = d1+1; System.out.println(d1==d2); //输出结果为 true } }
数据类型的强制转换
public class HelloWorld { public static void main(String[] args) { char c1 = 'A'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //将字符强制转换为int型 //输出结果为 //c1 = A; //c1 = 65; //所有的字符本质还是数字 ASCII码; //编码: Unicode 表: // U0000 UFFFF char c3 = '\u0061'; System.out.println(c3);//输出结果为a } }
转义字符
// \t 制表符 // \n 换行
对编译内存的分析
public class HelloWorld { public static void main(String[] args) { 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; //分析: //sa,sb访问的是不同的内存--->表示不同地址有相同的值; //sc,sd表示指向同一值---->及访问内容一样; } }
类型转换
低---------------------------------------------------->高 byte , short , char ---> int-> long -> float -> double //运算中,不同类型的数据先转化为同一类型,然后在进行运算。 //强制转换 (类型)变量名 由高--到低 //自动转换 由低--到高 //小结 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 把高容量转换到低容量的时候,需要强制转换 4. 转换的时候可能存在内存溢出,或者精度问题
public class HelloWorld { public static void main(String[] args) { int money = 10_0000_0000; int years = 20; //int total = money*years; //结果为-1474836480 //说明:total 为int 类型结果超出 int 的范围 //该法: 提前转换 long total = money*((long)years); //结果为20000000000 //补充:可以添加下划线_______将要输入的多个0分开,便于观察; System.out.println(total); } }
其他语法补充
public class HelloWorld { public static void main(String[] args) { //if语句 //boolean型拓展 boolean flag = true; if (flag == true) { } //新手写法 if (flag) { } //符合应有的规范 //Less is More----->少而精 } }