Java基础语法
注释
- 单行注释 //+注释内容
- 多行注释 /+注释内容+/
- 文档注释 /**+注释内容+*/
标识符
- 所有的标识符都应以字母(a-z或A-Z),美元符($),或者下划线 (_)开始;
- 首字符之后可以任意字符组合;
- 不能使用关键字作为变量名或方法名
- 表示符是大小写敏感的;
- 合法标识符举例:Man,man,$man,_man;
- 不合法标识符举例: 123man,*123man,#123man;
- 可以使用中文命名,但一般不建议使用,也不建议使用拼音,因为这样很low
数据类型
Java的数据类型为强类型语言,分为两大类(基本类型和引用类型)
- 基本类型(primitive type)
- 整数类型:byte 占1个字节 范围:-128-127;
short 占2个字节范围:-32768-32767;
int 占4个字节 范围:-2147483648-2147483647;
long 占8个字节 范围:-9223372036854775808-9223372036854775807;(要在数字后面+L) - 浮点类型:float占4个字节;(要在数字后面+F)
double 占8个字节; - 字符类型: char 占2个字节;
(字符串String不是关键字,它是类) - boolean类型:占1位且值只有true和false两个;
- 整数类型:byte 占1个字节 范围:-128-127;
- 引用类型(reference type)
- 类
- 接口
- 数组
类型转换
//低---------------------------------------->高
byte,short,char ->int ->long ->float ->double
变量
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型;
- 变量名必须是合法的标识符;
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束;
变量作用域
-
类(静态)变量
public class Demo01 {
//类变量
static int a=10;
public static void main(String[] args) {
System.out.println(a);//10
}
} -
实例变量
public class Demo01 {
//实例变量 如不进行初始化则为这个类型的默认值(除了基本类型,其余的默认值都是null)
String name;
int age;
public static void main(String[] args) {
//实例变量 变量名字=new Demo01();
Demo01 demo01=new Demo01();
System.out.println(demo01.name);//null
System.out.println(demo01.age);//0
}
} -
局部变量
public class Demo01 {
public static void main(String[] args) {
//局部变量 必须声明和初始化值
int i=10;
System.out.println(i);//10
}
}
常量
- 初始化后不能再改变值!不会变动的值;
- 常量名一般使用大写字符;
public class Demo02 {
//final和static都是修饰符 不区分先后顺序;
final static double PI=3.14;//static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);//3.14
}
}
命名规范
- 变量命名规范:首字母小写和驼峰原则:比如 monthSalary lastMonth;
- 类名命名规范:首字母大写和驼峰原则:比如 Man GoodMan;
- 方法名命名规范:首字母小写和驼峰原则: 比如 run() runRun();
运算符
幂运算
double result=Math.pow(a,b);//a的b次方 比如a=2,b=3,值为8.0;
位运算
A=1010 0011
B=1001 1101
- & :两个都为1才为1否则为0 A&B=1000 0001;
- | :有1为1 无1为0 A|B=1011 1111;
- ^ (异或):相同为0 不同为1 A^B=0011 1110;
- ~(取反):取反 ~B=0110 0010;
- <<:*2;
- >>: /2;
2*8如何最快 ?答:2<<3。因为位运算的效率极高,2的二进制表示为0000 0010,左移三位后为 0001 0000为16。
字符串连接符
public class Demo03 {
public static void main(String[] args) {
//字符串连接符
int a=10;
int b=20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
}
}
三元运算符
x ? y : z: 如果x为true则结果为y 否则为z