文章目录
- 1.注释
- 修改注释字体
- 三种注释方式
- 2.标识符和关键字
- 3.数据类型
- 4.类型转换
- 5. 变量、常量、作用域
- 6.基本运算符
- 7.自增自减运算符、初识Math类
- 8.逻辑运算符、位运算符
- 9.三元运算符及小结
- 10.包机制
- 11.JavaDoc生成文档
1.注释
修改注释字体
打开设置Settings
三种注释方式
有趣的代码注释
2.标识符和关键字
1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
3)3个特殊直接量:true、false、null。
Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」
标识符注意点
只能由字母(大小写,26个英文字母)、数字(0~9)、下划线“_”和“$”符组成。
数字不可以开头。
不可以使用关键字和保留字,但是可以包含关键字和保留字。
Java中严格区分字母大小写。
对长度无要求。
标识符内不能含有空格。
3.数据类型
强类型语言:必须定义变量
Java 的两大数据类型:
- 内置数据类型
- 引用数据类型
数据类型
package com.wind;
public class Demo01 {
public static void main(String[] args)
{
int num1=10;
byte num2=20;
short num3=30;
long num4=40;
//浮点数
float num5=50.1F;
double num6=3.123023849348324;
//字符
char name='国';
//字符串String 不是关键字 是类
String namea="逸尘";
//布尔值:
boolean flag=true;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println(num5);
System.out.println(num6);
System.out.println(name);
System.out.println(namea);
}
}
位(bit):内部数据存储的最小单位
字节(byte):数据处理的基本单位 B
字符:计算机中使用的字母,数字,符号
1Byte=8bit
1024B=1KB
1024KB=1MB
1024MB=1GB
二进制 0b
十进制
八进制 0
十六进制 0x
package com.wind;
import java.net.SocketOption;
public class Demo02 {
public static void main(String[] args)
{
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("================================");
/*浮点数扩展:银行业务如何表示?
float? double?
*/
float f=0.1f;
double d=0.1;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
float d1=2328342384323f;
float d2=d1+1;
System.out.println(d1==d2);
}
}
运行结果:
10
8
16
================================
false
0.1
0.1
true
double类型的0.1和float类型的0.1不相等?
因为在 Java 中,float 和 double 类型都采用二进制浮点数表示法来存储实数,而这种表示法有时会导致精度损失。
具体来说,由于浮点数使用二进制进行存储,而十进制小数 0.1 在二进制中是一个无限循环小数,因此在将其转换为浮点数时,会近似为最接近的二进制浮点数。这个过程可能会导致精度损失。在 Java 中,float 类型使用 32 位二进制浮点数表示,而 double 类型使用 64 位二进制浮点数表示,因此 float 类型的精度比 double 类型低。
//字符扩展
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);
输出:
================================
a
97
中
20013
字符本质上是数字,ASCII码,Unide码等等
转义字符
4.类型转换
自动类型转换:
强制类型转换
package com.wind;
public class Demo03 {
public static void main(String[] args)
{
int i=128;
byte b=(byte)i; //出现数据逸出
System.out.println(i);
System.out.println(b);
}
}
byte:表示的范围为:占一个字节=8bit ,2的8次方=256,256/2=128,有正负包含0,可知范围:
-128到127
byte 数据类型是8位、有符号的,以二进制补码表示的整数;
最小值是 -128(-2^7);
最大值是 127(2^7-1);
默认值是 0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
例子:byte a = 100,byte b = -50。
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转为不相干的类型
- 在把高转低容量时,强制转换
- 转换的时候可能存在内存溢出,或精度问题
long a=100_100_00;
System.out.println(a);
数字间可用下划线分割!
5. 变量、常量、作用域
public class Demo04 {
//类变量 static
static double salary=2500;
//实例变量:从属于对象,如果不自行初始化,默认值0,0。0
//布尔值默认false
//除了基本类型其他都是null
String name;
int age;
public static void main(String[] args)
{
int i=10; //局部变量
System.out.println(i);
//变量类型 变量名字 =new Demo04();
Demo04 demo04= new Demo04();
System.out.println("========================>");
System.out.println(demo04.age);
System.out.println(demo04.name);
System.out.println("实习:"+salary);
}
}
常量:初始化后不能改变的值,不会变动的值,使用final定义,可以写在static的前后均可。
所谓常量可以理解为一种特殊的变量,他的值被设定后,在程序运行期不能被改变。
常量名一般使用大写字母。
public class Demo05 {
//final 不分先后
final static double PI=3.14;
public static void main(String[] args)
{
System.out.println(PI);
}
}
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man,GoodMan方法名:首字母小写和驼峰原则: run(), runRun()
6.基本运算符
public class Demo06 {
public static void main(String[] args)
{
long a=123434243235L;
int b=123;
short c=10;
byte d=1;
System.out.println(a+b+c+d); //Long 自动类型转换,从小转大容量的
System.out.println(b+c+d); //int
System.out.println(c+d); //int
}
}
7.自增自减运算符、初识Math类
自增自减要看在前面还是在后面,在前面先自增/减运算再赋值,在后面先赋值后自增/减
int a=4;
int b=4;
int c,d;
c=++a; //等价于a+=1;c=a;
d=b++; //等价于d=c;c+=1;
System.out.println(c); //5
System.out.println(d); //4
8.逻辑运算符、位运算符
短路运算
&&运算:表达式1&&表达式2,当表达式1为假时,后面的表达式2不再执行,进而短路。整个表达式返回假false;
||运算:表达式1||表达式2,当表达式1为真时,后面表达式2不再执行。
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d); //false
System.out.println(c); //5
实例:
9.三元运算符及小结
result=表达式?true:false;
如果表达式为真,返回true给result,否则返回false给result;
public class Demo07
{
public static void main(String[] args)
{
int score=60;
String type;
type=score>=60?"及格":"不及格";
System.out.println(type);
}
}
10.包机制
在 Java 中,包(Package)是用来组织类和接口的一种机制。它可以将相关的类和接口放在一个命名空间下,以避免命名冲突,并提高代码的可读性和可维护性。
一个包可以包含多个类或接口,也可以嵌套其他包。包的命名采用倒置的域名格式,例如 com.example.mypackage。这种命名方式可以确保不同开发者的包名不会冲突,同时也方便了代码组织和管理。
Java 中的包使用 package 关键字进行声明,通常位于源文件的第一行。例如:
package com.example.mypackage;
public class MyClass {
// 类的定义
}
在上面的代码中,我们声明了一个名为 com.example.mypackage 的包,并在其中定义了一个类 MyClass。其他源文件可以通过 import 语句引入该包中的类,例如:
import com.example.mypackage.MyClass;
public class Main {
public static void main(String[] args) {
MyClass myObj = new MyClass();
// 使用 MyClass 类
}
}
在上面的代码中,我们通过 import 语句引入了 com.example.mypackage 包中的 MyClass 类,并在 main 方法中创建了一个 MyClass 类的对象。
导入一个包中所有的类可以使用*号
import com.example.mypackage.*;
11.JavaDoc生成文档
package com.wind;
/**
* @author wind
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
* @author wind
* @param name
* @return
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
return name;
}
}
执行如下命令行:
文件目录多出了这些文件:
打开index.html得到下面的页面:
思考:如何使用IDEA生产javaDoc文档?