java基本语法
注释,标识符,关键字
注释
注释类似于笔记,它是方便我们理解代码的工具,注释并不会被执行。java中注释分为三类:
- 单行注释//
- 多行注释/*
*/ - 文档注释/**
*/
书写注释是一个非常好的习惯
标识符
Java所有的组成部分都需要名字。类名,变量名及方法名都被称为标识符。
关键字
标识符注意点
所有标识符都应该以字母A—Z,a—z,美元符号$,或者是下划线_开头。首字母之后可以是英文字母,美元符号,下划线及数字的随意组合。
不能使用关键字作为变量名或方法名
标识符是大小写敏感的
变量名可以用中文或者拼音来写,但是不建议这么做
数据类型
- 强类型语言
要求变量的使用严格符合规定,所有的变量都必须先定义后使用 - 弱类型语言
JAVA数据类型
关于字节
位(bit):是计算机内部存储的最小单位。
字节(byte):是计算机中数据处理的基本单位,习惯中用大写的B来表示。
1 byte =8 bit.
字符:指的是计算机中使用的字母,数字,符号和字。
数据类型扩展
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 八进制 0 十六进制0x10
int i = 10;
int i1 = 010;
int i2 = 0x11;
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
//浮点数扩展 银行业务怎么表示?
//BigDecimal 数学工具类
//float 有限,离散 ,舍入误差,接近但是不等于
//double
//最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
//字符扩展
char c1 ='a';
char c2 ='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有字符本质上还是数字
//编码 Unicode 2字节 最多可表示65536个字符(0~65536)
//U0000 - UFFFF
char c3 = '\u0061';
System.out.println(c3);
//转义字符
// \t 水平制表符
// \n 换行
System.out.println("Hello\tworld");
}
}
类型转换
由于Java语言是强类型语言,所以在进行某些运算时需要进行类型转换
低---------------------------------------------------------------------------------->高
byte,short,char—>int—>long—>float—>double
运算时不同类型的数据先转换成同一类型,然后再进行运算。
强制转换 高–>低 (类型)变量名
变量,常量
变量
变量就是可以变化的量
Java是一种强类型语言,所有变量都必须定义后再使用
Java变量时程序中最基本的储存单元,Java变量包括变量名,变量类型和作用域。
type varName = [value] [{,varName = [value]}]
//数据类型 变量名 值 可以用逗号来隔开声明的多个同类型变量
注意事项
每个变量都必须要有类型,它可以是基本类型,也可以是引用类型
变量名都必须是合法的标识符
变量声明都是一条完整的语句,因此都是以分号结尾
作用域
- 类变量
- 实例变量
- 局部变量
public class Demo07 {
//类变量
static double money = 2500;
//实例变量:从属于对象
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值,如果不进行初始化,则会跑出这个类型的默认值
//布尔值默认是false
//除了基本类型,其他数据类型的默认值都是null
int i= 1;
System.out.println(i);
//变量类型 变量名 = new Demo07
Demo07 demo07 = new Demo07();
System.out.println(demo07.name);
System.out.println(demo07.age);
//类变量
System.out.println(money);
}
//其他方法
public void add(){
}
}
常量
- 常量是(Constant)是初始化(initialize)后不能再改变的值.
- 所谓的常量可以理解成特殊的变量,它的值在设定后,在程序运行过程喜中就不再改变。
final 常量名 = 常量值
如:final double PI = 3.14
常量名一般用大写字符表示
变量的命名规范
所有类,方法,变量名:见名知意
类成员变量:首字母小写+驼峰原则如:moneySalary,除第一个单词首字母小写外,其他所有单词首字母都大写。lastName
局部变量:首字母小写+驼峰原则
常量:大写字母+下划线 MAX_VALUE
类名:首字母大写加驼峰原则Demo()
方法名:首字母小写+驼峰原则run() runRun()
运算符
Java语言支持以下运算符
- 算数运算符:+ - * / % ++ –
- 赋值运算符:=
- 关系运算符:> < >= <= == !=instanceof
- 逻辑运算符;&& || !
- 位运算符:& | ^ ~ >> << >>>
- 条件运算符?:
- 赋值拓展运算符:+= -= *= /=
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//CTRL+D,复制当前行到下一行
int a = 10;
int b = 20;
int c = 15;
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 {
public static void main(String[] args) {
long a = 1323132323313l;
byte b = 8;
short c = 10;
int d = 123;
System.out.println(a+b+c+d);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果 true false 布尔值
int a = 20;
int b = 25;
int c = 10;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(b%c);
}
}
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自加,自减
int a = 3;
int b = a++;//执行这行代码时先给b赋值,然后a再自增
//a++ a+1
System.out.println(a);
int c = ++a;//a先自增,然后给c赋值
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
System.out.println(c);
//幂运算 2^3=8 ==>2*2*2 很多运算会借助工具类来实现
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
package operator;
public class Demo05 {
public static void main(String[] args) {
//逻辑运算 与(and) 或(or) 非(取反)
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 c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
//运行结果可以看出,类似于上述情况显然从c<4是错误的时候,后面c++就不再执行,即发生了短路运算
}
}
package operator;
public class Demo06 {
public static void main(String[] args) {
/*位运算
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=16 2*2*2*2
<<(左移) *2
>>(右移) /2
*/
System.out.println(2<<3);
}
}
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
//x?y:z 意思是如果x为true,则结果为y,否则为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);
}
}
包机制, JavaDoc
包机制
JavaDoc
JavaDoc命令是用来生成自己的API文档的
参数信息
@author :作者
@version:版本号
@since:最早使用的JDK版本
@param:参数名
@return:返回值情况
@throw: 异常抛出情况