JAVA基础语法
注释、标识符、关键字
注释
- 平时我们编写代码,在代码量比较少的时候,我们可以看懂自己写的,但是当项目结构一旦复杂起来,我们就会需要用到注释了。
- 注释并不会被执行、是给我们写代码的人看的
- 书写注释是一个非常好的喜欢
- 平时写代码一定要注意规范
JAVA中注释有三种
单行注释 : 只能注释一行 举个栗子: // 单行注释 快捷键 Ctrl+/
多行注释 :可以注释一段文字 举个栗子:/* 多行注释*/
文档注释:文档注释 /** */ 快捷键 Ctrl+Shift+ /
标识符、关键词
JAVA所有的组成部分都需要名字。类名、变量以及方法名都会成为关键词
标识符注意点
- 所有的标识符都应该以字母(A-Z或a-z)、美元符($)、或者下划线(_)开始
- 首字母之后可以是字母(A-Z或a-z)、美元符($)、或者下划线(_)任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 合法的标识符举例:age、 $money、_ value、_1agen。
- 不法的标识符举例:123abc、 -sale、#abc
- 也可以使用中文命名,但是一般不建议这样使用,更不建议使用拼音,这样会显得很low
数据类型
强类型语言:安全性高,速度慢
要求变量的使用要严格符合规定,所有变量都不需要先定义后才能使用
弱类型语言:速度快
要求变量的使用可以不符合规定,但是不要玩出事就好。
JAVA的数据类型分为两类
基本类型:(primitive tysc pe)
八大基本数据类型
整数类型:
int类型 //最常用的
byte
short类型
long类型 //Long类型要在数字后面加个L
浮点数类型:
float类型 //float类型要在数字后面加个F
double类型 //比较常用的浮点数类型
字符类型:
char类型 占两个字符
//String类型 也称字符串类型,
布尔值(是或非):
boolean:只有两个值true和false;
引用类型:(reference type)
类
接口
数组
什么是字节
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示
1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示一位
1Byte表示一个字节 1B=8b
1.24B=1KB
1.24KB=1M
1024M=1G
拓展
// 整数拓展: 进制 二进制0b 十进制 八进制0 十六进制 0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制 0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("====================");
// 浮点数拓展 银行业务怎么表示? 钱
// float 有限的 离散的 舍入误差 大约 接近但不等于
// double 最好完全使用浮点数进行比较
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);
float d1=212121212121f;
float d2=d1+1;
System.out.println(d1==d2);
// 字符拓展
System.out.println("========= ========= ========= =========");
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)(c1));//强制转换
System.out.println(c2);
System.out.println((int)(c2));//强制转换 (类型)变量名
// 所有的字符本质还是数字
// 编码 Unicode表: (97=a 65=A) 2字节 0-65536 Excel 2的16次方 =65536
// 区间范围在 u0000-UFFFF
// 转译字符
// \t 制表符 \n换行
// 布尔值拓展
boolean flag=true;
if (flag==true){}
if (flag){}
// less is More 代码要精简易读
类型转换
由于JAVA是强类型语言,所以要进行有些运算的时候的,就需要用到类型转换了。
低------------------------------------------------------------高
byte,short,char->int->long ->float->double
运算中,不同类型的数据线转换为同一类型,然后再进行运算。
强制类型转换 高->低 (类型)变量名
自动类型转换 低->高
int o=128;
double b=o;//内存溢出
//强制转换 (类型)变量名 由高到低
//自动转换 由低到高
System.out.println(o);
System.out.println(b);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象的转换类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println("====== ====== ======");
System.out.println((int)23.7);//23
System.out.println((int) -45.89f);//-45
System.out.println("======| |======| |======");
char c='a';
int e=c+1;
System.out.println(e);
System.out.println((char) e);
// 操作比较大的数的时候,注意溢出问题
// jkd7新特性,数字之间可以用下划线分割,这更符合我们的读写习惯并且并不会影响输出
int money=10_0000_0000;
int years=30;
int total=money * years;//-64771072 ,计算的时候溢出了
long total2=money * years;//默认为int类型,转换之前已经存在问题了
long total3=money * ((long) years);//先把一个数转换为long
System.out.println(money);
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
变量、常量
变量
什么是变量? 就是可以变化的量!
JAVA是一种强类型语言,每个变量都必须声明其类型
JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
//数据类型 变量名 =值;可以使用逗号隔开来声明多个同类型的变量
例如: int a,b,c;
注意事项:
-
每一个变量都有类型,类型可以使基本类型,也可以是引用类型。
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句。因此每一个声明都必须一分号结束
// 类变量 static double sl=2000; //属性:变量 // 实例变量:从属于对象;如果不自行初始化,这个类型的默认值 整数:0小数:0.0 // 布尔值:默认是false; // 除了基本类型,其余的默认值都是null; String name; int age; public static void main(String[] args) { // 局部变量; 必须声明和初始化值 int a=10; System.out.println(a); // 变量类型 变量名= new 变量(); variable v=new variable(a); System.out.println(v.age); System.out.println(v.name); System.out.println(sl); } // 其他方法 public void add(){ }
常量
什么是常量? 初始化后不能在改变值!不会变动的值。
所谓的常量也可以理解成特殊的变量,他的值被设定后,在程序中不允许被改变。
final 常量名=值;
final double PI=3.14
常量名一般使用大写字符
变量的命名规范
- 所有变量、方法、类名:要做到见名知意
- 类成员变量:首字母小写和驼峰原则 例如:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下滑线 例:MAX_VALUE
- 类名:首字母大写和驼峰原则 例:Man,DiJia
- 方法名:首字母小写和驼峰原则 count(),getAll();
运算符
JAVA语言支持如下运算符
- 算法运算符:+,- , * , / , %(取余) , ++ ,–
- 赋值运算符 :=
- 关系运算符:> , < , >= , <= , == , != ,instanceof
- 逻辑运算符:&& (and) , ||(or), !(非)
- 位运算符:& , | , ^ , ~ , (右移 相当于除以2)>> , <<(左移 相当于乘以2) , >>>(了解!!!)
- 条件运算符 ? :
- 扩展赋值运算符:+=(),*=(),/=()
// 二元运算符
// Ctrl+D :复制当前行到下一行
int a=10;
int b=20;
int c=30;
int d=35;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(c*d);
// 关系运算符返回的结果:正确 或错误 布尔值
// if语句进行判断的
System.out.println("====== ====== ====== ");
int e=10;
int f=20;
int g=25;
System.out.println(g%e);//%(取余数)例如 :32/10= ....... 2
System.out.println(e<f);
System.out.println(e>f);
System.out.println(e==f);
System.out.println(e!=g);
//++ 自增 -- 自减 一元运算符
int a=3;
int b=a++;//执行完这行代码后,先给B赋值,再自增
// a=a+1
System.out.println(a);
// a=a+1
int c=++a;//执行完这行代码前,再给c赋值
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
// 幂运算 2^3 2*2*2=8 很多运算,我们会使用一些工具类来操作
double pow=Math.pow(3,2);
System.out.println(pow);
逻辑运算
// 与(and) 或(or) 非(取反)
boolean a=true;
boolean b=false;
System.out.println("a && b :"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b :"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为真,则结果才为TRUE
System.out.println("!(a && b) :"+!(a&&b));//如果是真则为假,如果是假则为真
// 短路运算(当前面的为假时后面的将不会继续执行)
int c=5;
boolean d=(c<4)&& (c++<4);
System.out.println(d);
System.out.println(c);
短路运算
// 短路运算(当前面的为假时后面的将不会继续执行)
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
字符串连接符
int e=10;
int f=20;
// 字符串连接符 + ,String
// 当字符串出现在前面时会把后面的转化成String类型
System.out.println(""+e+f);
System.out.println(e+f+"");
扩展运算符
int a=10;
int b=20;
a+=b;// a=a+b
a-=b;//a=a-b
三元运算符
// x?y:z
//如果x==true,则结果为y,否则结果为z
int score=50;
String type =score<60 ?"不及格":"及格";//必须掌握
包机制、JAVADoc
包机制
-
为了更好的组织类,JAVA提供了包机制,用于区别类名的命名空间。(包的本质就是文件夹)
-
包语句格式为:
package pkg1[.pkg2[.pkg3...]];
- 一般利用公司域名倒置作为包名;例如:com.lizi.juli
- 为了能够使用某一个包的成员,我们需要在JAVA程序中明确导入改包。使用"import"语句可完成此功能
import package1[.package2...].(classname|*)
// * 通配符
JAVADoc
- JAVAdoc命令是用来生成自己api文档的(jdk帮助文档)
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
/**
* @author lianxi //作者名
* @version 1.0 //版本号
* @since 1.8 //指明最早使用的jdk版本
* */
public class Doc {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
通过命令行生成api帮助文档
javadoc -encoding UTF-8 -charset UTF-8 类名.java
例子:javadoc -encoding UTF-8 -charset UTF-8 HelloWord.java
encoding:编码的意思
charset:字符级编码
使用IDEA生产javadoc文档!
- 首先新建一个文件夹用来存放将要生成的javadoc文档。
- 接下来点击IntelliJ IDEA顶部的Tools(工具)菜单,选择Generate JavaDoc(生成javadoc)选项
- 然后在弹出的界面中我们点击Output directory(输出目录)输入框后面的选择按钮并点击
- 在弹出的选择文件夹界面中选择刚才新建的文件夹
- 接下来在底部的Locale(区域设置)输入框配置语言语言用zh_CN,代表中文,在Other command line arguments(其他命令形参)中添加 -encoding UTF-8 -charset UTF-8
- 然后点击确定以后我们就等待IntelliJ IDEA给我们生成JavaDoc文档即可
- 接下来我们打开JavaDoc文件夹,找到index.html文件,点击就能看到API文档