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 方法名称(){
方法体
}
方法名称的命名规则和变量一致,使用小驼峰
方法体中可以包含任意条语句
*/