Java基础语法
1.注释
- 单行注释 //
- 多行注释/**/
- JavaDoc:文档注释/** */
2.标识符
类名、变量名、方法名都被称为标识符
- 所有的标识符都以字母,美元符,下划线开始
- 首字母后可以是字母、美元符、下划线组合
- 不能使用关键字作为变量名、方法名
- 标识符大小写敏感
3.数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性高,速度慢)
Java的数据类型分为两大类
- 基本类型
- 引用类型


//八大基本数据类型
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//Long类型要在数字后面加个L
float num5 = 50.1F;//float类型数字后面要加F
double num6 = 50.1;
char letter = 'A';
String name = "qinjiang";
boolean flag01 = true;
boolean flag02 = false;
进制
二进制0b
八进制0
十六进制0x 0-9 A-F
浮点数
完全避免使用浮点数进行比较,使用BigDecimal类进行精准计算
字符
强制转换
char c1 = 'a';
System.out.println((int)c1);//97
转义字符
\t制表符
\n换行
布尔值
boolean flag = true;
if(flag == true){}
if(flag){}
4.类型转换
- 强制类型转换 高>低(类型)变量名
- 自动类型转换低>高
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 把大容量转换成小容量强制转换,反之不用
- 转换的时候可能存在内存溢出、精度问题
5.变量
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
int a = 1;
int b = 2;
int c = 3;
String name = "qinjiang";
public class Demo04 {
//实例变量:从属于对象;如果不初始化会输出默认值 0 0.0 布尔值:false 除了基本类型都是null;
String name;
int age;
//类变量 static
static double salary = 2500;
static void main() {
//局部变量;必须声明和初始化值
int i= 10;
//变量类型 变量名字 = new Demo08();
Demo04 demo04 = new Demo04();
System.out.println(demo04.age);
System.out.println(demo04.name);
System.out.println(salary);
}
}
//三个变量:实例变量需要new对象,类变量可以直接使用,局部变量只能在方法里使用
6.常量
public class Demo09 {
//修饰符,不存在先后顺序
final static double PI =3.14;
//static final double PI =3.14;
static void main() {
System.out.println(PI);
}
}
//需要用final
7.变量的命名规范
- 所有变量、方法、类名:见其知意
- 类成员变量(除了常量):首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
8.运算符
算术运算符:+,—,*,/,%,++,——
赋值运算符: =
关系运算符:>,<,>=,<=,==,!=,instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,>>,<<,>>>
条件运算符:?:
扩展赋值运算符:+=,-=,*=,/=
//二元运算符
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double)a/b);
package operator;
public class Demo02 {
static void main() {
long num1 = 121212;
int num2 = 123;
short num3 = 10;
byte num4 = 8;
double num5 = 10.0;
double num6 = num4 + num5;
System.out.println(num1+num2+num3+num4);
System.out.println(num2+num3+num4);
System.out.println(num3+num4);
}
}
//有Long类型转换为Long类型,有double类型转换为double类型,其他转换为int类型
/* **既有double又有long转换为double类型** */
package operator;
public class Demo03 {
static void main() {
int num1 = 10;
int num2 = 20;
System.out.println(num1 > num2);
System.out.println(num1 < num2);
System.out.println(num1 == num2);
}
}
//返回值为true,false,与if连用
//++ 自增, --自减 一元运算符
int num1 = 3;
int num2 = num1++; // num1++ > num1 = num1 +1;
System.out.println(num1);//4
System.out.println(num2);//3
//a++把a自加1赋值给a,并把原值赋值给b
//!!先赋值再自增!!
//++ 自增, --自减 一元运算符
int num1 = 3;
int num3 = ++num1;
System.out.println(num1);
System.out.println(num3);
//先自增再赋值
package operator;
//逻辑运算符
public class Demo05 {
static void main() {
//与 或 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果为真
System.out.println("a || b:"+(a||b)); //逻辑或运算:两个变量有一个结果为真,结果为真
System.out.println("!(a && b):"+!(a&&b)); //真为假,假为真
//短路运算
int num1 = 5;
boolean d = (num1<4)&&(num1++<4);
System.out.println(d);
System.out.println(num1);
//第一个结果为假,就不运行后面的代码了
}
}
package operator;
public class Demo06 {
static void main() {
/*
A = 0011 1100
B = 0000 1101
A&B 都为1得1 0000 1100
A|B 有一个1就为1 00 11 1101
A^B 相同0不同1 0011 0001 (异或运算)
~B 1111 0010 (取反)
——————————————————
2*8 = 16 2*2*2*2
<< 效率高
>>
*/
System.out.println(2<<3);
}
}
package operator;
import java.sql.SQLOutput;
public class Demo07 {
static void main() {
int num1 = 10;
int num2 = 20;
num1 += num2; //num1 = num1 + num2;
System.out.println(num1); //30
//字符串连接符 +
System.out.println(""+num1+num2); //3020
System.out.println(num1+num2+""); //50
System.out.println(""+(num1+num2)); //50
}
}
//有字符串会自动把后面的拼接起来
package operator;
public class Demo08 {
static void main() {
//三元运算符
/*
x ? y :z
如果x == true,结果为y,否则为z
*/
int score = 80;
String type = score < 60 ? "不及格" :"及格";
System.out.println(type);//及格
}
}
9.包机制
包语句的语法结构:
package pkg;
一般利用公司域名倒置作为包名;
使用别的包的数据,要导入,用“import”
import package;
10.JavaDoc
javadoc命令用来生成自己API文档
参数信息
- @author zuozheming
- @version版本号
- @since 指明需要的最早djk版本
- @param 参数名
- @return 返回值
- @throws 异常抛出
浙公网安备 33010602011771号