Java基础学习
P21 注释
-
平时我们编写代码,再代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是个非常好的习惯
-
平时写代码一定要注意规范
-
Java中的注释有三种
- 单行注释
- 多行注释
- 文档注释
/**
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* . ' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
*
* .............................................
* 佛祖保佑 永无BUG
*/
P22 标识符和关键词
-
关键词
abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、strictfp、short、static、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
-
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
P23 数据类型讲解
数据类型
-
强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须现定义后才能使用
-
弱类型语言
-
Java的数据类型分为两大类
- 基本类型(primitive type):byte、boolean、char、short、int、float、long、double
- 引用类型(reference type):类、接口、数组
P24 数据类型扩展及面试题讲解
P25 类型转换
-
由于Java是强制类型语言,所以要进行有些运算的时候,需要用到类型转换。
低——————————————————————————高
byte,short,char——>int——>long——>float——>double
-
运算中,不通类型的数据先转换为同一类型,然后进行运算。
-
强制类型转换(从高容量转换到低容量)
-
自动类型转换(从低容量转换为高容量)
-
不能对布尔值进行转换;
-
不能把对象类型转换为不相干的类型;
-
在把高容量转换到低容量的时候,强制转换;
-
转换的时候可能存在内存溢出,或者精度问题。
JDK新特性,谁之间可以用下划线分割,如:int money = 10_0000_0000
P26 变量、常量、作用域
变量
- 变量是什么:就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每个声明都必须以分号结束。
变量作用域
-
类变量
-
实例变量
-
局部变量
/** * ClassName:Demo08 * Description: * * @Date:2022-12-7 21:36 * @Author:chenfp */ public class Demo08 { //类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 //布尔变量:默认是false //除了基本类型,其余的默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); //变量类型 变量名字 = new Demo08(); Demo08 demo08 = new Demo08(); System.out.println(demo08.age); System.out.println(demo08.name); //类变量 static System.out.println(salary); } //其他方法 public void add(){ } }
常量
-
常量(Constant):初始化(initialize)后不能在改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,她的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值; final double PI=3.14; -
常量名一般使用大写字符。
/**
* ClassName:Demo09
* Description:
*
* @Date:2022-12-7 21:49
* @Author:chenfp
*/
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:简明知意!
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以为,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),Run()
P27 基本运算符
运算符
- Java语言支持如下运算符
- 算数运算符:+,-,*,/,%,++,--
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
- 条件运算符:?,:
- 扩展赋值运算符:+=,-=,*=,/=
package operator;
/**
* ClassName:Demo01
* Description:
*
* @Date:2022-12-7 22:02
* @Author:chenfp
*/
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//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);
}
}
package operator;
/**
* ClassName:Demo02
* Description:
*
* @Date:2022-12-7 22:04
* @Author:chenfp
*/
public class Demo02 {
public static void main(String[] args) {
long a = 123123123133L;
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
}
}
package operator;
/**
* ClassName:Demo03
* Description:
*
* @Date:2022-12-7 22:06
* @Author:chenfp
*/
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 返回布尔值
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);
System.out.println(a != b);
}
}
P28 自增自减运算符,初识Math类
package operator;
/**
* ClassName:Demo04
* Description:
*
* @Date:2022-12-7 22:11
* @Author:chenfp
*/
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增
System.out.println(a);
int c = ++a;//执行完这行代码前,先自增,再给b赋值
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);
}
}
P29 逻辑运算符、位运算符
package operator;
/**
* ClassName:Demo05
* Description:
*
* @Date:2022-12-7 22:18
* @Author:chenfp
*/
public class Demo05 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = true;
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);
}
}
package operator;
/**
* ClassName:Demo06
* Description:
*
* @Date:2022-12-7 22:24
* @Author:chenfp
*/
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
~B = 1111 0010
2*8 = 16 2*2*2*2
<< *2
>> /2
*/
System.out.println(2<<3);
}
}
P30 三元运算符及小结
package operator;
/**
* ClassName:Demo07
* Description:
*
* @Date:2022-12-7 22:31
* @Author:chenfp
*/
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;
System.out.println(a);
a-=b;
System.out.println(a);
//字符串连接符
System.out.println(""+a+b);
System.out.println(a+b+"");
}
}
package operator;
/**
* ClassName:Demo08
* Description:三元运算符
*
* @Date:2022-12-7 22:33
* @Author:chenfp
*/
public class Demo08 {
public static void main(String[] args) {
//x ? y : z
//如果x == true,则结果为y,否则结果为z
int score = 50;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);
}
}
运算符的优先级。
P31 包机制
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:package pkg1[. pkg2[. pkg3 ....]];
-
一般利用公司域名倒置作为包名:www.baidu.com com.baidu.www com.chen.blog
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可完成此功能:
import package1[.package2...].(classname|*);
推荐观看手册:阿里巴巴开发手册
P32 JavaDoc生成文档
-
JavaDoc
- javadoc命令是用来生成自己APIC文档的
-
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- throws 异常抛出情况
package com.chen.base;
/**
* ClassName:Doc
* Description:
*
* @Date:2022-12-7 22:52
* @Author:chenfp
*/
public class Doc {
String name;
/**
* @author chenfp
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}

浙公网安备 33010602011771号