java 基础语法
注释
注释的分类
-
单行注释//
//我是单行注释
-
多行注释/* */
/*我是多行注释 我是多行注释 我是多行注释*/
-
文档注释 /** */
/** *@Description HelloWorld *@Author 早点 */
有趣的代码
自己写了一个小学生作品QVQ
标识符
关键字
try,class,catch,break,public等
注意点
- 所有的标识符都应该以字母(A-Z或a-z),美元符($),或者下划线(_)开始,首字符之后可以是字母,美元符,下划线或数字的任意组合
- 关键字不可作为变量名或方法名
- 标识符是大小写敏感的
数据类型
所有变量都必须先定义后才能使用
分类
-
基本类型
在IDEA中输入基本类型首字符大写的基本类型,如Byte,按住ctrl并点击Byte,即可跳转到相应类型的界面,看到类型的字节范围
-
整数类型
byte:占1字节 -128-127
short:占2字节 -32768-32767
int:占4字节 正负21亿
long:占8字节,后加L区分
long num=30L;
-
浮点类型
float:占4字节,后加f区分
float num=10.1f;
double:占8字节
-
字符类型
boolean:占1字节,值只有true和false两个
-
-
引用类型
类,接口,数组
一些拓展
-
整数拓展
进制 表示 二进制 0b 八进制 0 十六进制 0x 代码举例:
int i=10;// 十进制 10 int i1=0b10;//二进制 2 int i2=010;//八进制 10 int i3=0x10;//十六进制 16 0~9 A-F
-
浮点数拓展
浮点数的关键词:有限 离散 舍入误差 接近但不等于
最好完全避免使用浮点数进行比较
解决办法:BigDecimal 数学工具类
可参考代码Demo 01
类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算
//强制转换 (类型)变量名 高--低
int i=128;
byte b=(byte)i;
//自动转换 低--高
/*
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
//操作比较大的数字时,可以用下划线分割(JDK新特性)
int money=10_0000_0000;
int years=20;
int total=money*years; //-1474836480,计算的时候溢出了
long total2=money*years; //默认是int,转换之前已经存在问题了
long total3=money*((long)years);//先把一个数转换为long,输出结果为20000000000
System.out.println(total3);
代码详见Demo 02
变量常量
变量
变量要素包括变量名,变量类型和作用域
作用域分为:
-
局部变量:必须声明和初始化值,作用效果仅在方法内
public static void main(String[] args) { //局部变量;必须声明和初始化值 int i=10; System.out.println(i); }
-
实例变量:从属于对象,如果不自行初始化,则为这个类型的默认值 0 0.0,不可直接在方法中调用
-
类变量:static,可直接在方法中调用
public class Demo03 {
//类变量 static
static double salary=2500;
//属性:变量
//main方法
//实例变量:从属于对象;如果不自行初始化,则为这个类型的默认值 0 0.0
//布尔值:默认值是false
//除了基本类型,其余的默认值都是null
String name;
int age;
public static void main(String[] args) {
//局部变量;必须声明和初始化值
System.out.println(salary);
int i=10;
System.out.println(i);
//new Demo03() alt+回车
//变量类型 变量名字=new Demo03();
Demo03 demo03 = new Demo03();
System.out.println(demo03.age);
System.out.println(demo03.name);
}
//其他方法
public void add(){
}
}
提示:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
常量
初始化后不能再改变值,常量名一般使用大写字母,修饰词为final
//修饰符,不存在先后顺序
static final double PI=3.14;
命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线: MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名,首字母小写和驼峰原则:run(),runRun()
运算符
运算符分类
-
算术运算符:+,-,*,/,%,++,–
//二元运算符 //ctrl+D 复制当前行到下一行 int a=10; int b=20; int c=25; int d=25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); System.out.println("====================="); long e=1456782635; short f=10; byte g=8; System.out.println(e+f+g+b);//long 型 System.out.println(f+g+b);// int 型 System.out.println(f+g);// int 型 //byte short int 相互运算后最后结果为int,如果操作数里有long,最后是long
(operator Demo 01 )
//++ -- 自增 自减 一元运算符 int a=3; int b=a++; //a++ a=a+1 先给b赋值,再自增 int c=++a; //先自增再给c赋值 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 //幂运算 2^3=8 很多运算,我们会使用一些工具类来操作 double pow=Math.pow(2,3); System.out.println(pow);
(operator Demo 03 )
-
赋值运算符:=
-
关系运算符:<,>,<=,>=,==,!=,instanceof
int a=10; int b=20; int c=21; System.out.println(c%a); System.out.println(a<b); System.out.println(a>b); System.out.println(a!=b);
(operator Demo 02 )
-
逻辑运算符:&&,||,!
// 与(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));
-
位运算符:&,|,^,~,<<,>>,>>>(了解!)
/*位运算 A=0011 1100 B=0000 1101 A&B=0000 1100 A|B=0011 1101 A^B=0011 0001 相同为0,不同为1 ~B=1111 0010 << *2 >> /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); //结果为16
-
条件运算符: ?:
-
扩展赋值运算符:+=,-=,*=,/=
包机制,Java Doc
包机制
包的本质是文件夹
一般利用公司域名倒置作为包名;www.baidu.com com.baidu.www
定义包:定义包的语句一定要放在代码的第一行上
import package1[.package2...](classname|*);
导入包:
import package1[.package2...](classname|*);
需要导入某个包下的所有类时,可使用*号:
//导入这个包下所有的类
import com.zao.base.*;
Java Doc
文档注释加在类上是类注释,加在方法上是方法注释
package com.zao.base;
//类注释
/**
* @quthor Zaodian
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
//方法注释
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name)throws Exception{
return name;
}
生成Javadoc的两种方法:
-
通过命令行生成javadoc文档
-
-
在IDEA中选中要生成Javadoc文档的类,打开类所在的文件夹,在本文中选取了Doc类所在文件位置
-
在文件地址前输入 doc+空格 打开cmd窗口
- 在cmd窗口输入命令 javadoc 参数 Java文件
-
cmd中输入的参数是便于让文档中的中文可以正常显示- 查看2所示的文件夹,找到首页网址并打开
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210410144530890.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bW1lcl96YW8=,size_16,color_FFFFFF,t_70#pic_center)
-
-
通过IDEA生成javadoc文档
- 在类中编写好文档注释
- 参考IDEA生成文档