1:第一个java程序:HelloWorld
//写法一:
public class HelloWorld{
public static void main(String[] args){
System.out.println("你好 中国!");
}
}
//写法二:
public class HelloWorld{
public static void main(String... args){
System.out.println("你好 中国!");
}
}
以上两种写法都可以,但是推荐写法一!
控制台输出 你好中国 第一个java程序就可以了!
2:java标识符命名规则
java所有的组成部分都需要名字,类名 变量名 方法名都被称为标识符! 关于java标识符,可以这么记忆:字 下 美 人 数 骆驼 字:字母 下:下划线 美:$符号 人:¥符号 数:数字
-
标识符可以使用 字 下 美 人 数,但是 切记不可以 使用 数字开头.
-
标识符是大小写敏感的
-
类的首字母必须大写,多个单词组成的类名遵从大驼峰命名法,就是每个单词首字母要大写!
-
变量名和方法名遵从小驼峰命名法,首字母小写,由多个单词组成的话,首字母小写,后面每个单词首字母大写!
-
命名常量每个字母都要大写,多个单词中间用下划线连接
-
关键字不能用作标识符.例如:public static void ... 但是,可以包含关键字!
3:java关键字
这段是(ctrl c v )来的,太多了,只能靠以后慢慢学习,一点一点积累!
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 |
注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。
4:各种 class 的命名及使用,以及内部类的声明的规则
使用public修饰的类,该类的名字必须与该类所在的源文件名相同 java编译后生成的class文件名与源代码中类的名字相同,与源代码文件名无关 在同一个源代码文件中可以编写多个类 在同一个源代码文件中多个类 public只能修饰与源文件同名的那个类 在同一个源代码文件中不能出现同名的类,但在内部类中可以出现多个public
5:变量的声明 赋值 读取,以及字符串的拼接
(1)字符串的拼接如下代码所示:
public class Demo01{
public static void main(String[] args){
System.out.println("晚风吻尽荷花叶"+"你我醉倒在池边");
}
}
控制台输出 晚风吻尽荷花叶你我醉倒在池边
上面代码加号代表字符串的拼接;
字符串的拼接除了加号+ 外还有concat() 例如:
public class Demo02{
public static void main(String[] args){
String a = "你是人间不可得";
String b = "也是人间不可失";
System.out.println(a concat(b));
}
}
控制台输出 你是人间不可得也是人间不可失
(2)变量
变量:字面意思为可变化的量,实际上在内存中开辟了一块空间; 格式为:数据类型 变量名 空格 等于号 空格 变量值 分号 在同一个代码块中不允许定义同名变量
(3)基本数据类型
占用大小如下:
byte ==>1B //(-128 ~~ 127)
short==>2B
int==>4B
long==>8B
double==>8B
float==>4B
char==>2B //在java中采用Unicode编码集
boolean==>1B true / false
有两个特殊的需要单独揪出来说一下,定义long 和 float时必须在他们尾部加上对应的字母L和f
例如:long a = 100L; float b = 16.5f;
因为java中整数型默认int ,浮点数型默认double ;
6:变量与常量的声明
通常我们要声明多个变量,这时我们可以这么写,如下:
int a =10,b = 20;//可以同时声明多个变量
声明常量,如下:
final int A = 50;//常量值不可以被改变
7:数据类型转换
分为自动类型转换和强制类型转换
自动类型转换:小类型转换大类型自动转!
int a = 100;
long b = a;
//此为自动类型转换
强制类型转换:大类型转换小类型强制转!格式如下代码块:
int a = 100;
long b = a;
//int c = b;这样就会报错,正确格式为
int c = (int)b;
强制类型转换会导致精度丢失,非必要情况不使用!
8:转义字符以及预定义格式
常见的转义字符有: \n:换行 \t:TAB制表符 \r:回车 \b:退格
预定义格式:三个双引号中间什么格式 控制台就以什么格式输出!
System.out.print("""
梧高凤必至
花香蝶自来
""");
9:局部变量修饰符var
public class Demo03{
public static void main(String[] args){
String a = "你好";
var b = "中国";
System.out.println(a + b);
System.out.println(a instanceof String);
System.out.println(b instanceof String);
}
}
控制台输出
你好中国
true
true
结论: java 10+ 可以在局部变量中使用var来为变量声明 可以根据值推断是什么数据类型
最后java核心机制 JDK JRE JVM 的关系!
java的两种核心机制: 1:JVM(java虚拟机); 2:垃圾回收机制; JDK = JRE + java编译工具集 JRE = JVM + java标准类库