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 方法名称(){
方法体
}
方法名称的命名规则和变量一致,使用小驼峰
方法体中可以包含任意条语句
*/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。