Java基础语法
Java基础语法
JDK新特性,数字之间可以用下划线分割,如1_0000_0000。不影响数值。
JAVA中的三种注释
书写注释是一个非常好的规范
- 单行注释
//单行注释
- 多行注释
/*多行注释
多行注释
多行注释*/
- 文档注释
/**
*
*
*
*
* */
标识符和关键字
关键字

标识符
-
Java所有的组成部分都需要名字。类名、变量名、方法名都被称为标识符。
-
所有标识符都应该以字母,美元符($),下划线(_)组成
-
首字母之后可以是字母,美元符,下划线或数字的任何字符组合
-
标识符大小写敏感
-
不能使用关键字作为变量名或者方法名
-
尽量使用英文
数据类型
- JAVA是一种强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义在使用
JAVA数据的基本类型(primitive type)
数值类型
-
整数类型
- byte:1个字节
- short:2个字节
- int:4个字节
- long:8个字节//数字后面加L
-
浮点类型(小数)
- float:4个字节
- double:8个字节
-
字符类型
-
char:2个字节
-
String:非关键字
-
布尔类型
- boolean:占一位,其值为true或者false
拓展:
-
进制(二进制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); /* 10 10 10 */ -
float表示字长有限、离散,具有舍入误差性质。
最好完全避免使用浮点数进行比较
银行系统一般使用BigDecimal数学工具类
float f = 0.1f; double d = 1.0/10; System.out.println(f==d); //output falsefloat d1 = 212121121212121212; float d2 = d1 + 1; System.out.println(d1==d2); //output true -
强制类型转换(所有的字符本质都是数字)
char c='a'; System.out.println((int)c); //output 97 -
Unicode编码(U0000-UFFFF)
char c='\uoo61'; System.out.println(c); //output a -
转义字符
\t //制表符 \n //换行 -
布尔值扩展
boolean flag = true; if(flag==true){} if(flag){} //行2与行3,意义相同,完全等价
JAVA数据的引用类型(reference type)
-
类
- 关于对象的思考
String a= new String("Hi"); String b= new String("Hi"); System.out.println(a==b); //output flase -
接口
-
数组
类型转换
-
JAVA为强类型语言,所以运算需要进行类型转换
-
优先级由低到高
byte,short,char<int<long<float<double
-
自动类型转换(低容量到高容量)
-
强制类型转换(高容量到低容量)
(需要的类型)原类型 -
强制类型转换中可能存在内存溢出、精度问题
int i=128; byte b = (byte)i; //内存溢出 //output -128System.out.println((int)23.7); System.out.println((int)-45.89f); //output 23 -45 //精度丢失 -
不能对布尔值进行转换
-
不能转换不相干的类型
变量
-
每个变量都有类型,可以是基本类型,也可以是引用类型
-
变量名必须是合法的表示符
type varName = value; -
常量(关键字final)
public class Hello { static final int PI=3.14;//在类中定义静态常量 //main方法 public static void main(String[] args) { System.out.println(PI); } }
变量的作用域
-
局部变量
public class Hello { //main方法 public static void main(String[] args) { int i = 10;//局部变量,定义于方法内部,作用于方法内部 System.out.println(i); } } -
实例变量
public class Hello { String name;//实例变量:从属于对象;默认值为0、0.0、null、flase int age; //main方法 public static void main(String[] args) { } //其他方法 public void add(){ //调用实例变量前需要执行以下操作 Hello hello = new Hello(); System.out.println(hello.name);//输出实例变量 } } -
类变量
public class Hello { static int a=10;//类变量,关键词static //main方法 public static void main(String[] args) { System.out.println(a);//在方法内可直接调用 } }
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量、局部变量、方法名:首字母小写和驼峰原则、nameAdd
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则
运算符

- 算术运算符进行算术运算时,当有long时结果为long类型,否则为int类型
- 自增自减运算符:a++代码执行后;++a代码执行前
- 幂运算:Math.pow(a,b),借用Math工具类中的pow方法
- 逻辑运算符
- 与:两个变量都为真,结果才为真
- 或:两个变量都为假,结果才为假
- 非:若真为假,若假为真
- 短路运算
- 在与运算中,若第一个变量为假,则不用看第二个变量,程序短路,直接判断为假。
- 位运算
- 按位进行与或非运算
- 异或运算:相同为0,不同为1
- <<左移相当于*2;>>右移相当于/2;例:2<<3 == 8
- a+=b 相当于a=a+b
- 当+旁边出现String类型,则为连接符
- x?y:z相当于:如果x为真,则结果为y,否则为z
包机制
- 一般用公司的域名倒置作为包名,com.baidu.www
- 导入包:import com.xxx.xxx.*; // *为通配符,导入包中所有
JavaDoc
package com.xia.base;
/**
* @author xia
* @version 1.0
* @since 1.8
*/
public class Demo01 {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
- IDEA生成:Tools

浙公网安备 33010602011771号