Lesson 02

基础认知Introduction

第一个程序

1 2 3 4 5 6 7 <
import io.zzax.jadeite.console.Console; public class Main { public static void main(String[] args) { Console.println("Hi, ZZAX"); }}Hi, ZZAX
敲代码时

有提示时按回车

import 会自动导入

检查

检查字节码文件

控制台直接运行字节码

Java 原生态写法
1 2 3 4 5 <
public class Main { public static void main(String[] args) { System.out.println("Hi, ZZAX"); }}Hi, ZZAX

顺序执行

所有的程序代码, 都会从程序入口处, 开始一行一行执行

1 2 3 4 5 6+7+8 9 < < <
import io.zzax.jadeite.console.Console; public class Main { public static void main(String[] args) { Console.println("Hi, ZZAX"); Console.println("从来没见过"); Console.println("这么清晰的文档"); }}Hi, ZZAX从来没见过这么清晰的文档

注释Comments

单行注释

// 开始往右到这行结尾, 不视为代码

多行注释

/* 开始 到 下一个 */ 之间, 不视为代码

样例
1 2 3*4 5 6+7+8+9+10 11 < <
public class Main { public static void main(String[] args) { // Console.println("Hi, ZZAX"); Console.println("从来没见过"); Console.println("这么清晰的文档"); /* 爱写什么 就写什么 */ }}从来没见过这么清晰的文档

交互I/O

案例
1 2 3 4 5 6 7 8 9 10
import io.zzax.jadeite.console.Console; public class Main { public static void main(String[] args) { int v1 = Console.readInt(); int v2 = Console.readInt(); int sum = v1 + v2; Console.println(sum); }}
定义
input输入用户 给 程序
output输出程序 给 用户
API
Console.readInt()

可以向用户索要一个整数

Console.println(x)

可以将 x 展示给用户

程序基本功能

输入 处理 输出

Java 原生态写法
1 2 3 4 5 6 7 8 9 10 11
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int v1 = scanner.nextInt(); int v2 = scanner.nextInt(); int sum = v1 + v2; System.out.println(sum); }}

规范

不影响程序执行的 行业规则

小提琴的故事

缩进

四个空格

增加缩进:tab

减少缩进:shift + tab

空格

观察

换行

不同的功能区 之间 加 空格

程序要求

Level 1 不犯语法错误

不飘红

Level 2 不犯规范错误

空格 换行 缩进 大小写 命名

Level 3 满足功能要求

完成商业逻辑

Level 4 结构设计合理

内部设计

变量Variables

基础

变量的作用

程序的记忆

变量的基本操作

声明
int v1;

开辟数据格 - 保险箱

赋值
v1 = Console.readInt();

往数据格里放东西

取值
int sum = v1 + v2;

之后再出现 v1 且 不在 等号 左边

计算机就会去 找 v1 查看 数据格里 的数据

变量声明的语法

格式
<变量类型> <变量名>;
<变量类型> <变量名> = <值>;
例子
int a;
int a = 1;

数据类型Data Types

常用数据类型

代码名称用途
int整型整数
double双精浮点类型小数
String字符串文字
尝试

让程序支持 对小数的操作

double v1 = Console.readDouble();

数据类型分类

类型特征
基础类型小写开头,只有 8 种
对象类型大写开头,有很多
8 个 基础类型

Primitive Data Types

byte short int long 
float double 
char 
boolean

字面量Literals

是什么

程序里出现的值

字面量数据类型
字面量数据类型
1int
1.0double
"1"String

数据类型匹配

规则

赋值时,等号右边的值 需要与 等号左边的变量类型 匹配

数据类型不匹配,编译会报错

1!2
int value = "abc";Console.println(value);

类型自动转换

基础数据类型中 除 boolean 外,数据类型可以不匹配

大类型数据格 接收 小类型数据值

数据会自动转换

1 2 <
double value = 1;Console.println(value);1.0

强制类型转换

报错

基础数据类型中 除 boolean 外,数据类型可以不匹配

小类型数据格 接收 大类型数据值

编译会报错

1!2
int value = 1.0;Console.println(value);
签字声明

声明强制类型转换,让计算机闭嘴

1 2 <
int value = (int)1.0;Console.println(value);1
数据丢失

精度可能会因此丢失

1 2 <
int value = (int)1.7;Console.println(value);1

基础

变量的命名

重名

不能重名

大小写

大小写敏感

valuevaluE 不是一个变量

规范

驼峰式命名

样例正确解说
playerName全小写,第二个单词起,首字母大写
PlayerName每个单词首字母大写,一般是给自定义类型用的
playername写它就很缺德
player_namePython 式命名,但这里是 Java
bianLiang🆗还好
clhs🚨全缩写,找骂

ZZAX 微信公众

文档一更新,立刻告诉你