JAVA基础语法
JAVA基础语法
注释、标识符、关键字
注释
-
单行注释
// 这是一个注释 -
多行注释
/* 这是一个多行注释 这页是注释 */ -
JavaDoc:文档注释
/** * * @Author Meteorlu * @Description 这是一个描述 */
标识符
- 关键字
- 注意点
- 所有标识符应以字母,$,或者下划线(_)开始
- 首字符之后可以是字母,$或下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符大小写敏感
- 可以使用中文名,但一般不建议,也不建议使用拼音,很low
数据类型
强弱类型语言分类
- 强类型语言
要求变量使用严格符合规定,所有变量都必须定义且初始化后才能使用
-
弱类型
不严格要求变量,如Visual Basic、JavaScript
JAVA的两大数据类型
-
基本类型
-
数值类型:整数类型(byte int short long)
//注意事项 long num1 = 30L; //进制 int i = 10; //十进制 int j = 010; //八进制 int k = 0x10; //十六进制 int l = 0b1; //二进制 -
浮点类型:浮点类型(float double)
float num2 = 50.4F; double num6 = 3.141592654; //注意事项 float f = 0.1f; //0.1 double d = 1/10; //0.1 System.out.println(f==d); //false float d1 = 23131323123213f; float d2 = d1 + 1; System.out.println(d1==d2); //true //上述问题产生的原因是 浮点数是有限、离散的,有舍入误差 //最好完全避免使用浮点数进行比较 //替代方法是使用 BigDecimal类进行比较 -
字符类型: char String(不是关键词)
char c1 = 'a'; char c2 = '中'; System.out.println(c1); //a System.out.println((int)c1); //97 System.out.println(c2); //中 System.out.println((int)c2); //20013 //所有的字符本质还是数值 //编码:Unicode 2字节 65536 //转义字符 // \n 换行 // \t 制表符 -
Boolean类型: true false
boolean flag = true; if(flag==true){} if(flag){} //等价于上一行 //less is more!
-
-
引用类型
- 类
- 接口
- 数组
类型转换
由于JAVA是强类型语言,所以在进行有些运算的时候,需要用到类型转换。
低 --------------------------------------------------------> 高
byte,short,char -> int -> long -> float -> double
从低到高,需要强制转换。
从高到低,自动转换。
int i =128;
byte b = (byte)i;
//强制转换(高到低) (类型)变量名
System.out.println(i); //128
System.out.println(b); //-128
//因为byte取值范围为-128~127
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
int money = 10_0000_0000;
System.out.println(money); //1000000000 (不会显示下划线)
//JDK7新特性,数字之间可以用下划线分割
int years = 20;
int total = money*years; //-1474836480,计算时发生溢出
long total2 = money*year; //-1474836480,默认为Int,转换前已经溢出
//解决方案
long total3 = money*((long)years);//先把一个数转换为Long
注意事项
- 不能对布尔值进行转换;
- 不能把对象类型转换为不相干的类型;
- 在把高容量转换到低容量的时候,强制转换;
- 转换可能存在内存溢出,或者精度问题;
- 操作比较大的数时候,注意溢出问题;
变量
-
Java是一种强类型语言,每个变量都必须声明其类型;
-
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。
type varName [=value] [{,varName[=value]}]; //数据类型 变量名 = 值; 可以用逗号隔开来声明多个同类型变量(不建议这么做)。 -
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量的作用域
public class Variable{
static int allClicks = 0; //类变量
String str = "hello!"; //实例变量
public void method(){
int i= 1; //局部变量
}
}
- 局部变量:必须声明和初始化值,仅在本方法内可以调用
- 实例变量:从属于对象,如果不进行初始化,则为该类型的默认值。(0 0.0 false,除了基本类型,其他都是Null)
- 类变量 static :从属于类,必须加关键字 static
常量
常量(Constant):初始化后不能再改变值。可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
用法:
final 常量名 = 值;
final double PI = 3.14;
static final double PI = 3.14;
final static double PI = 3.14;
//修饰符不存在先后顺序
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰命名法 monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线 MAX_VALUE
- 类名:首字母大写和驼峰原则 GoodType
- 方法名:首字母小写和驼峰原则 run() toRun()
运算符
-
算数运算符:+ - * / % ++ --
int a=10,b=20; System.out.println(""+a+b); //1020 System.out.println(a+b+""); //30 -
赋值运算符:=
-
关系运算符:> < >= <= == != instanceof
-
逻辑运算符: && || !
//短路运算 int c = 5; boolean d = (c<4)&&(c++<4); //执行到c<4便不再执行c++<4 System.out.println(d); //false System.out.println(c); // 5 -
位运算符(了解):& | ^ ~ >> << >>>
/* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 与运算 A|B = 0011 1101 或运算 A^B = 0011 0001 异或运算(相同时取0,相异时取1) ~B = 1111 0010 取反 ===================================== 计算2*8的最快方法 2*8=16 2*2*2*2 */ System.out.println(2<<3); //16 // 0000 0010 -> 0001 0000 左移3位 -
条件运算符: ? :
// x ? y :z //若x==true,则结果为y,否则结果为z System.out.println(80<60?"不及格":"及格"); //及格 -
扩展赋值运算符: += -= *= /=
a += b; //a = a + b -
幂运算:使用Math类
double pow = Math.pow(3,2); //计算2 的三次方
包机制
- 命名一般为域名的反写,如:com.baidu.baike
- 包命名用 package关键字定义
- 使用import 关键字导入包,且Import必须放在package下面
《阿里巴巴JAVA开发手册》

浙公网安备 33010602011771号