Java语法
1.变量在计算机的存储原理
二进制:只有0、1
二进制计算
2.计算机表示数据的最小单元
表示数据的最小单元:字节(8为一组)
字节(byte,简称B,有8个二进制位组成)
每一个二进制位成为b(bit),1B = 8b;
3.其他数据在计算机如何存储
字符数据
- ASCII字符代码表
图片数据
-
图片由无数个像素点组成
-
每个像素点的数据:用0~255 * 255 * 255表示其颜色
声音数据
- 波形图映射到坐标上
4.进制转换
java可以识别二进制,八进制,十六进制
分别需要0B,0,0X开头使用
5.数据类型
- 基本数据类型(8种)
- 引用数据类型
基本数据类型
整形:byte(1b),short(2b),int(4b),long(8b)
浮点型(小数):float(4b),double(8b)
字符型:char(2b)
布尔型:boolean(1b)
6.类型转换
存在不同类型的变量赋值给其他类型的变量
- 自动类型转换
类型范围小的直接赋值给类型范围大的变量
byte——>int
执行原理:
7.表达式的自动类型转换
不同弄类型的变量或数据一起运算
小范围变量自动转换成较大范围的类型再参与运算
注意事项:
- 表达式的最终结果类型由表达式中的最高类型决定。
- 在表达式中,byte、short、char 是直接转换成int类型参与运算的。
小类型变成大类型
//面试题
byte i = 1;
byte j = 2;
int k = i + j;
必须是int接收
8.强制类型转换
大范围变量转换成小范围的类型
不能直接赋值
数据类型 变量2 = (数据类型)变量1 数据
int a =9;
byte b = (byte) a;
//alt+回车快捷键
![image-20240412170145050](image-20240412170145050.png)
浮点型强制转换整形,丢掉小数部分
9.基本算数运算符
+ - * / %
1.0*i / j
得到小数
+是可以做连接符的
'a'+'abc'+555
能算则算,不能算连接在一起
‘ ’代表一个数字
10.自增自减运算符
++
对自身变量的值加1
--
对自身变量的值减1
int a = 2;
a++;//a = a+1
前缀先增后用,后缀先用后增
自增自减只能操作变量,不能操作字面量
11.自增自减拓展
int m = 6;
int n = 5;
//m 6 7 6 7
//n 5 4 3
// 6 4 4 7 7
int result = m++ + --n + n-- + m-- + ++m;
System.out.println(result);
12. 赋值运算符
a+=b ————> a = (a的类型)(a+b)
a-=b ————> a = (a的类型)(a-b)
*= ————> a = (a的类型)(a*b)
/= ————> a = (a的类型)(a/b)
%= ————> a = (a的类型)(a%b)
byte a = 10;
byte b = 9;
a = a + b;//无法运行
a = (byte)(a + b);
a += b;
运算结果自动转换为a类型
如果不用赋值运算符 需要强行转换
13.关系运算符
>
>=
<
<=
==
!=
返回类型为true/false
14.逻辑运算符
& 与(左右都执行)
| 或(左右都执行)
! 非(左右都执行)
^ 异或----前后条件结果相同,直接返回false ,不同返回true(左右都执行)
&& 短路与 如果左边条件为false则右边不执行
|| 段落或 如果左边条件为true则右边不执行
15.三元运算符
条件表达式?值1:值2;
如果是True——返回值1
如果是False——返回值2
int a = 10;
int b = 9;
int max = a > b ? a : b;
System.out.println(max);
* / 优先级高于 + -
16.案例知识:在程序中接收用户通过键盘输入的数据
API:应用程序编程接口
使用API文档
package com.douglas.variable.demo2.scanner;
import java.util.Scanner;
public class scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的年龄:" );
int age = scanner.nextInt();
System.out.println("您的年龄是:" + age);
System.out.println("请输入您的姓名:" );
String name = scanner.next();
System.out.println(name + "先生欢迎您");
}
}
1.导包
2.抄写代码
3.接受用户数据
ner.nextInt();
System.out.println(“您的年龄是:” + age);
System.out.println("请输入您的姓名:" );
String name = scanner.next();
System.out.println(name + "先生欢迎您");
}
}
1.导包
2.抄写代码
3.接受用户数据