Java基础语法
注释
-
注释并不会被执行,是给写代码的人看的
-
注释是一个好的习惯
-
平时写代码一定要注意规范
-
种类
-
单行注释 //xx 只能注释一行
-
多行注释/* xx */ 可以注释一段文字
-
文档注释/** xx */ 有功能
-
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关键字
标识符注意点
-
所有的标识符都以字母(A-Z或者a-z),美元符($),或者下划线(_)开始。
-
首字母之后可以是字母、美元符、下划线或数字的人和字符组合
-
不能使用关键字用作变量名或方法名
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 (Java)
弱类型语言
分类
-
基本类型(八大基本类型)
long类型要在数字后面加个L (long num=30L)
float类型要在数字后面加个F
-
float 有限 离散 舍入误差 大约 接近但不等于
-
最好完全避免使用float进行比较
字符类型只能表示一个字符
字符串,String不是关键字,类
char c1='A';
System.out.println((int)c1); //强制转化
所有的字符本质还是数字
*布尔值 boolean flag=true;
boolean flag=fause;
boolean flag = true'
if(flag=true){}
if(flag){}
//转义字符 \t 制表符 \n 换行
2.引用类型(除了八大)
-
字节
-
位(bit):计算机内部数据存储的最小单位
-
字节(byte):计算机数据处理的基本单位,习惯上用大写B来表示
-
1B=8bit
-
字符:指计算机中使用的字母、数字、字和符号
-
1bit表示1位 1B=8b 1024B=1KB 1024KB=1M 1024M=1G 1024G=1TB
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低---------------------------------------------------->高
byte,short,char—>int—>long—>float—>double
运算中,不同类型的数据线转化为同一类型,然后进行运算
-
强制类型转换:高容量转化为低容量
-
自动类型转换:低容量转化为低容量
*注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
public class Demo01{ public static void main(String[] args){ int i = 128; byte b = (byte)i; //内存溢出 ============================================= System.out.println((int)23.7); } }
操作比较大的数的时候,注意溢出问题
JDK7新特性,数字之间可以用下滑线分割
int money = 10_0000_0000;
变量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}]; (最好不要在同一行定义多个同类型变量)
public class Demo01{ public static void main(String[] args){ int a = 1; double pi = 3.14; String name = 'qinjiang'; char x = 'X'; } }
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
变量作用域
-
类变量:写在main方法外面,前面要加上static
-
实例变量:写在main方法外面,从属于对象;如果不自行初始化,输出这个类型的默认值 0 0.0
布尔值默认是false
除了基本类型,其余的默认值是null
-
局部变量:必须声明和初始化值(在main方法里面)
常量
-
初始化后不能再改变的值,不会变动的值。
-
常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名 = 值;
final double PI = 3.14;
final是修饰符,不存在先后顺序
-
常量名一般用大写字符
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary (除了第一个单词以外,后面的首字母都大写)
-
局部变量:首字母小写和驼峰原则
-
常量:首字母大写和下划线(单词比较多可以加下划线)
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
运算符
-
%取余 又称模运算
-
关系运算符返回的结果: 正确,错误 (用布尔值)
-
++ / -- 自增 /自减 (一元运算符)
-
幂运算:Math.pow(2,3)
很多运算会使用一些工具类来操作
long a = 123123123123123123L; int b = 123; short c = 10; byte d = 8; System.out.println(a+b+c+d); //Long System.out.println(b+c+d); //Int System.out.println(c+d); //Int
没有long时,所有非int类型转为int
long以下都为int,long以上都为最高的那个
逻辑运算符
boolean a = ture; boolean b = false; System.out.prinln("a && b:"+(a&&b)); false System.out.prinln("a || b:"+(a||b)); ture System.out.prinln("!(a && b):"+!(a&&b); ture
-
+是用来连接的
-
&&:如果两个都为真,结果才为真
-
||:两个变量有一个为真,结果为真
-
!():如果是真,结果为假;如果是假,结果为真
-
短路运算:如计算a&&b时,如果为假,不再往下计算b,直接输出结果假
位运算符
-
A=0011 1100
B=0000 1101
A&B=0000 1100
A|B=0011 1101
A^B=0011 0001 (如果相同则为0,如果不同则为1)
~B = 1111 0010
-
<< 左移 >>右移
System.out.println(2<<3); //输出结果为16
2 : 0000 0010
16 : 0001 0000
(2<<3) 2左移3位
扩展赋值运算符
a+=b //a = a+b
a-=b //a = a-b
字符串连接符 +
int a = 10; int b = 20; System.out.println(""+a+b); //输出为1020 System.out.println(""+a+b); //输出为30
如果+前面为String" ",后面的+变为连接符;
如果+后面为String" ",前面的+照常运算
三元运算符(条件运算符)? :
x ? y : z
如果x值为真,则结果为y,否则结果为z
运算符的优先级
包机制
-
用于区别类名的命名空间
-
包的本质是文件夹
-
一般用公司域名倒置作为包名 com.baidu.www
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该报,使用"import"语句完成此功能
-
import com.kuang.base.*; 导入这个包下所有类
JavaDoc
javadoc命令是用来生成自己API文档的
使用IDEA生成javadoc文档
-
新建一个文件夹,存放Javadoc文档
-
点击顶部的tool,选择Generate JavaDoc
-
点击Out directory 后面的 ...
-
选择刚刚新建的文件夹
-
如图
6. 等待生成文档
7. 打开JavaDoc文件夹,找到index.html文件,点击就能看到API文档