1. Hello world 程序

任何一门编程语言,入门的第一段代码,一般都是打印Hello World吧,相当于是一种仪式吧。

//public class后面的是类的名称
public class HelloWorld{
//main是程序执行的入口(起点)
public static void main(String[] args){
System.out.println("Hello,World!");
}
}

Java代码需要编译,才能运行。

2. 关键字与标识符

关键字:程序中的保留的单词,比如:public、class、void等

标识符:程序中我们自己定义的变量、方法名等。

2.1 命名规则与规范

1. 命名规则

标识符可以包含英文字母、数字、$、下划线

不能以数字开头

不能是关键字

2. 命名规范

类名规范:首字母大写,后面每个首字母大写(大驼峰原则)

变量名规范:首字母小写,后面每个单词首字母大写(小驼峰原则)

方法名规范:同变量名规范

3. 常量和变量

3.1 常量(程序运行期间,固定不变的量)

1.常量的分类

字符串常量:凡是用双引号引起来的部分,都叫做字符串常量。例如:"abc"、"123"

整数常量:直接写上数字,没有小数点,比如:100,200,300

浮点型常量:直接写上小数,如:1.3、3.1415

字符常量:用单引号括起来的单个字符,叫做字符常量,例如:'A'、'中'、'1'

布尔常量:只有两种取值:true和false

空常量:null,代表没有任何数据

public class Demo01Const{
// 字符串常量
System.out.printin("ABC")
System.out.println("") // 字符串双引号中间内容为空
System.out.println("123")
// 数字常量(整数和浮点数)
System.out.println(123)
System.out.println(-123)
System.out.println(3.141592653)
// 字符常量
System.out.print('A')
System.out.print('6')
//System.out.println('') 单引号之间,必须有字符,否则会报错
//System.out.println('AB') 两个单引号之间有且只能有一个字符
// 布尔常量
System.out.println(true)
System.out.println(false)
// 空常量,空常量不能用来打印输出
// System.out.println(null) 会报错
}

3.2 基本数据类型

基本数据类型(四类八种)

类型

整数型

byte short int long

浮点型

float double

字符型

char

布尔型

boolean

引用数据类型:字符串、类 、数组 、接口、lamda

八种基本数据类型的区别

数据类型

关键字

内存占用

取值范围

字节型

byte

1个字节

-128~127

短整型

short

2个字节

-32768~32767

整型

int(默认)

4个字节

-2^31~-2^31-1

长整型

long

8个字节

-2^63~2^63-1

单精度浮点数

float

4个字节

1.4013E-45~3.4028E+38

双精度浮点型

double(默认)

8个字节

4.9E-324~1.7977E+308

字符型

char

2个字节

0~65535

布尔类型

boolean

1个字节

true、false

3.3 变量(程序运行期间,内容可以发生变化的量)

public class Demo02Variable{
public static void main(String[] args){
// 创建一个变量:数据类型 变量名称;
int num1;
// 给变量赋值:变量名称 = 数据值
System.out.println(num1) //打印输出变量值
// 改变变量的值
num1 =20
System.out.println(num1)
}
}

注意事项:如果创建了多个变量,那么多个变量之间的名称不可以重复;如果是float或者long类型来说,字母后缀F或者L不要去掉;如果是bytes或者short类型的数据的变量,那么右侧赋值不能超过左侧类型的范围;没有进行赋值的变量,不能直接使用,一定要赋值使用之后,才能使用;变量使用不能超过作用域的范围,一般直到所属的大括号结束为止;可以通过一个语句来创建多个变量,但是一般情况不推荐这么做。

4. 数据类型转换

4.1 数据类型转换

自动类型转换(隐式):代码不需要特殊处理,自动完成,数据类型从小到大

public class Demo01DataType{
public class void main(String[] args){
System.out.println(1024) //这就是一个整数,默认就是int类型
System.out.println(3.14) // 这就是一个浮点数,默认就是double类型
long num1 = 100 // 左边long类型.右边为默认的int类型,自动类型转换
System.out.print(num1)
double num2 = 2.5f
System.out.println(num2)
float num3 = 30L
System.out.println(num3)
}
}

强制类型转换(显示):代码需进行特殊处理,不能自动完成,格式: 范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据

注意事项:强制类型转换一般不推荐使用,因为极有可能发生精度损失、数据类型;bytes/short/char这三种类型都可以发生数学运算,例如加法;bytes/short/char这三种数据类型在运算的时候,都会先被提升为int类型再计算。boolean类型不能发生数据类型转换。

public class Demo02DataType{
pubkic static void main(String[] args){
int num = (int) 100L
System.out.pritntln(num)
}
}

运算符

5.1 算数运算符

算数运算符

+

加法运算,字符串连接运算

-

减法运算

*

乘法运算

/

除法运算

%

取模运算,两个数相除取余数

++

自增自减运算

--

自减运算

public class Demo04operater{
public static void main(String[] args){
// 两个常量之间进行数学运算
System.out.println(20 + 10)
// 两个变量之间进行数学运算
int a = 20
int b = 10
System.out.println(a - b)
// 变量、常量混合使用
System.out.println(a * 10)
// 除法,结果取整
int x = 10
int y = 3
System.out.println(x / y) // 取整
System.out.println(x % y) // 取余
}
}

注意事项:一旦运算中有不同的数据类型,那么结果将会是数据类型范围大的那种。

四则运算当中的加号(+)常见的三种用法:

对于数值来说,就是普通的加法操作。

对于字符char类型来说,在计算之前,char会被提升为int,然后在计算。

对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作

4.任何数据类型和字符串连接的时候,结果都会变成字符串

public class Demo05Plus{
public static main(String[] args){
String str1 = "Hello"
System.out.println(str1)
System,out.println("Hello" + "world")
System.out.println(str1 + 20 + 30)
}
}

5.2 自增自减运算符

自增运算符:++

自减运算符:--

基本含义:让一个变量涨一个数字1,或者让一个变量降1

使用方式:

单独使用:不与其他任何操作混合,自己独立为一个步骤;单独使用的 时候,前++和后++没有任何区别

混合使用:与其他操作相混合,比如,与赋值相混合,与打印相混合等;混合时,前++,变量立马加1,然后拿着结果进行使用[先加后用];后++,首先使用变量本来的数据,然后再让变量+1,[先用后加]

【--和++是类似的】【变量才能进行++和--操作,常量不行】

public class Demo06Operator{
public static void(String[] args){
int num1 = 10;
System.out.println(num1)
++num1 // 单独使用,前++
System.out.println(num1)
num1++ //单独使用,后++
System.out.println(num1)
// 与打印混合的时候
int num2 = 20;
System.out.println(++num2)// 混合使用,先++,先加后用
System.out.println(num2)
// 混合使用,后++,先用后加
int num3 = 30;
System.out.println(num3++)
System.out.println(num3)
// --操作
int num4 = 40;
int result = --num4
System.out.println(result)
System.out.println(num4)
int num5 = 50;
int result2 = num5--;
System.out.println(result2)
System.out.println(num5)
}
}

5.3 赋值运算符和比较运算符

赋值运算符:就是一个"=",代表将右侧的数据交给左侧的变量

复合赋值运算符:

运算符

例子

含义

+=
a+=1
a = a + 1
-=
a-=3
a = a - 3
*=
a*=5
a = a * 5
/=
a/=7
a = a / 7
%=
a%=9
a = a % 9

比较运算符

比较运算符

含义

==

比较两边数值是否相等,相等返回true

<

比较两边大小,左边小于右边返回true

>

比较两边大小,左边大于右边返回true

<=

左边小于等于右边返回true

>=

左边大于等于右边,返回true

!=

两边不相等,返回true

public class Demo07Operator{
public static void main(String[] args){
int a = 10;
a += 5
System.out.println(a)
}
}

5.4 逻辑运算符

与:&&、或:||、非:!

public class Demo08Operator{
public static void main(String[] args){
System.out.println(true && false);
System.out.println(true || false)
System.out.println(!true)
}
}

5.5 三元运算符

格式:

数据类型 变量名称 = 条件判断 ? 表达式A:表达式B

首先,判断条件是否成立,如果成立,那么表达式A的值赋给左侧;如果不成立,那么表达式B的值赋给左侧

public class Demo10Operator{
public static void main(String[] args){
int a = 10;
int b =20;
int max = a>b ? a:b;
System.out.println("最大值:"+max)
; }
}

6 方法入门

6.1 定义方法

/*

定义一个方法的格式:

public static void 方法名称(){

方法体

}

方法名称的命名规则和变量一致,使用小驼峰

方法体中可以包含任意条语句

*/