Java基础语法
注释
- 单行注释
//注释内容
- 多行注释
/*
注释内容
*/
- 文档注释
/**
注释
*@Description helloworld
*Author 狂神
*后边可以加@号(具体内容再说)
*/
标识符
Java所有的组成部分都需要名字,类名、变量名、方法名都被称为标识符。
关键字
public private protected
class static void
interface
等等
方法名:
main
变量名:
String teacher ="nanshan";
标识符注意点
- 所有的标识符都应该以字母(AZ,az),美元符$,下划线(_)开始。
- 首字符之后可以是字母(AZ,az),美元符$,下划线(_)或数字的任何字符组成。
- 不能使用关键字作为变量名或方法名。
- 标识符大小写敏感。
语言类型
强类型语言
- 安全性高,速度慢(Java)
- 要求变量的使用要符合规定,所有变量都必须先定义后才能使用
弱类型语言
- vbscript JavaScript
变量
- Java是一种强类型的语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,每一个声明都必须以分号结束。
Java数据类型分为两类
基本数据类型
- 数值类型
- 整数类型
- byte(1个字节)
- short(2个字节)
- int(4个字节)
- long(8个字节)
- 浮点类型
- float(4个字节)
- double(8个字节)
- 字符类型
- char(2个字节)
- Boolean类型
引用数据类型
- 类
- 接口
- 数组
注意:
- long 类型定义时在数字末尾加个L(尽量用大写的L)
- float类型定义时在数字末尾加个F
- 字符只能是一个字
- string 不是关键字,是一个类
- float:有限,离散,会有误差,大约,接近但不等于(避免使用浮点数进行比较)
- 使用类 BigDecimal —— 银行业务表示?钱
- eg:
- 1、
- float f = 0.1f;
- double d = 1.0/10;
- System.out.println(f == d);//输出为false
- 2、
- float f1 = 1234567894556f;
- double d1 = f1 +1;
- System.out.println(f1 == d1);//输出为true
字节
位 (bit) :计算机内部数据存储的最小单元
字节 (byte) :计算机中数据处理的基本单位,用B表示。
1B = 8 bit
字符:计算机中使用的字母,数字,字和符号。
进制
二进制 0b
八进制 0
十六进制 0x
字符拓展
char c1 = 'a';
System.out.println(c1);
System.out.println((int)c1);
//所有的字符本质上还是数字
编码 Unicode 2字节 65536
excel最多有65536格
char c3 = '\u0061';
System.out.println(c3);//输出为a
转义字符
\t 制表符
\n 换行符
= = 和 equals 的区别
= = 比较对象的地址
类型转换
由于Java是强类型语言,进行某些运算时,需要类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行运算。
强制类型转换
自动类型转换
小数的优先级大于整数
由低到高,不需要进行转换
//内存溢出:
int i = 128
byte b = (byte) i;
//输出:i为128,b为-128
注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换为低容量的时候,进行强制转换
- 转换的时候可能存在内存溢出,或者精度问题
jdk新特性:数字之间可以用下划线分割 2000000000=20_0000_0000
int (27.5) = 27
int (-45.96f) = -45
char (98) = b
//转换问题:
int m = 10_0000_0000;
int n = 2;
long t = m*n; //在m*n运算时,结果自动转换为int,再赋给t
long t = m*(long)n; //正确写法
变量
Java变量是程序中最基本的存储单元
注意事项:
- 每个变量都有类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明必须以分号结束
注意程序的可读性
变量的作用域
类变量
实例变量:方法体的外边,类的里面,从属于对象(数值默认0,布尔值默认false,除了基本类型,其他默认null)
局部变量:在方法体内部,必须声明和初始化值
常量
初始化后不能再改变值
eg:final double PI = 3.14;
一般常量名使用大写字符
//修饰符不存在前后顺序 static final public
变量的命名规范
所有变量,方法名,类名:见名知意
首字母小写和驼峰法则:类成员变量(monthSalary),局部变量,方法名(run(), runRun())
常量:大写字母和下划线(MAX_VALUE)
类名:首字母大写和驼峰法则
运算符
Java语言支持如下运算符:
算术运算符:+,-,*,/,%,++,--(一元运算符)
赋值运算符:=
关系运算符:>, <, >=, <=, !=, instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^, ~,>>, <<, >>> 位运算的效率高
条件运算符 ? : (三元运算符;x?y:z)
扩展赋值运算符: +=,-=,*=,/=
ctrl + d 复制当前行到下一行
运算时,有long存在,结果都是long型的,若是byte,short运算,自动转成int型。
cast :转换
//a++, ++a 的区别:
ina a = 3;
int b = a++;//先给b赋值,再自增
int c = ++a;//先自增,再给c赋值
System.out.println(a);//输出为5
System.out.println(b);//输出为3
System.out.println(c);//输出为5
math.abs() 绝对值
幂运算:
double pow = Math.pow(2,3);
System.out.println(pow);//输出为8,(2^3)
逻辑运算符
boolean a = true;
boolean b = false;
System.out.println("b&&a"+(b&&a));//逻辑与运算,(短路运算)
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(c);//结果为5,没有执行c++运算;
字符串连接符
int a = 10;
int b = 30;
System.out.println(a+b+"");//输出为30;
System.out.println(""+a+b);//输出为1020;
包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
包语句的语法格式:package pkg1;
一般使用公司域名倒置作为包名
导入包:为了能够使用某一个包的成员,使用import
import package1(.classname|*);
www.baidu.com == com.baidu.www
不要让包中的类名重复
ctrl + 鼠标右键 查看
alt+回车 报错信息
阿里巴巴开发手册
Javadoc
javadoc 命令是用来生成自己的api文档的 JDK帮助文档
参数信息:
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
javadoc -encoding UTF-8 -charset UTF-8 doc.java
使用idea生成javadoc文档

浙公网安备 33010602011771号