12.2
1 JavaSE数据类型与运算符
1.1 回顾
语言:java [编译+解释] C[编译] JavaScript【解释】
Java语言:特性:面向对象,跨平台,健壮性,分布式,多线程等
Jdk:jdk->jre->jvm
Java 代码的执行过程:
Java源文件 [javac] ->字节码文件[.class] ->java ->二进制,运行
Eclipse:配置jdk,修改编码,变量,常量,变量命名规则
1.2 Java数据类型概述
1.2.1 数据类型
1.2.2 内存区域
1.3 基本类型
1.3.1 分类
1.3.2 范围
1.3.3 默认值
注意:虽然有默认值,但是作为局部变量,如果使用前,需要赋值;否则编译错误;而类成员变量则可不赋值。
1.4 引用类型和类型转换
1.4.1 引用类型有哪些?
除了上节学习到的8种基本数据类型,其他类型都是引用类型;
类,接口,null,数组,枚举,注解等
1.4.2 基本类型和引用类型差异
1.4.3 类型转换:
1.5 小练习:
package day02;
/**
* 求"和" : int变量+char变量+float变量+double变量,求和的结果保存在一个变量中 输出
*
* @author Administrator
*
*/
public class DemoCalc {
public static void main(String[] args) {
// 定义一个int类型变量
int a = 1;
//定义一个char变量
char ch = 'D';
//定义一个float类型的变量
float f = 2.1212f;
//定义一个double类型的变量
double d = 3.23232d;
// ? sum =int + char + float + double
//Type mismatch(不匹配): cannot convert from double to int
//数学计算的时候,最终结果和表达式中精度最大的那个类型相同
double sum= a + ch + f + d;
// sysout sum
System.out.println("和是: "+sum);
}
}
1.6 运算符
1.6.1 算术
四位数2345,计算各个位上的数字的和,输出结果.
1.6.2 关系
1.6.3 练习:
package day02;
/**
* 关系运算符介绍(水仙花数判断)
*
* @author Administrator
*
*/
public class Operator03 {
public static void main(String[] args) {
int n = 153; // 153%10 =>除法得到整数商15 ,余数为3 =》 % 得到个位数字
int bai = n / 100;
int shi = n / 10 % 10;
int ge = n % 10;
// 判断153这个数字是否是水仙花数 输出true或者false就可以.
// sysout(1*1*1 + 5*5*5 +3*3*3 == 153)
System.out.println(bai * bai * bai + shi * shi * shi + ge * ge * ge == n);
}
}
1.6.4 位
8<<2
先将10进制的8转换为2进制; 1000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
再移位
|
1 |
0 |
0 |
0 |
0 |
0 |
25 =>32
再将2进制的值转换为10进制;
10进制转换为2进制: 除以2取余数;
2进制转换为10进制: 乘以2的n次方,累加求和。
100000000
28…22 21 20
8>>2
先将10进制的8转换为2进制; 1000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
10转换后变成了2
1.6.5 练习题:
3<<3
32>>2
1.6.6 逻辑
1.6.7 赋值
1.6.8 条件
1.7 课堂练习:
交换两个数,要求不能定义第三个变量:
1.8 总结:
- 数据类型:基本类型和引用类型
- 基本类型的8个类型要记熟;int ->4字节
- 类型转换: 自动转换(隐式) , 强制转换(显式)
- 运算符: 算术,比较,赋值
1.9 作业:
- 智慧教学云平台的作业
- 本周内容总结,思维导图,word文档,手写都行.
- 编码题目一定要数量,下周一默写.
1.10 控制台输入:
package day02;
import java.util.Scanner;//"导入"java.uitl包中的Scanner类
/**
* 控制台输入
*
* @author Administrator
*
*/
public class Demo07 {
public static void main(String[] args) {
// java工具 ,扫描器 Scanner 类 所在的包java.util
//1- Scanner类 引用名= new Scanner(System.in);
Scanner input = new Scanner(System.in);
//2- 输入提示文字
System.out.println("请输入整数x,y,z");
//3- 以空格或者回车作为一个输入结束
//nextInt接收
int x = input.nextInt();
int y = input.nextInt();
int z = input.nextInt();
// 4 求三个数字中的最大(小)值
// x和y比较,得到最大值 m;
// 用m和z比,得到最大值
int m = x > y ? x : y;
m = m > z ? m : z;
System.out.println("max is :" + m);
}
}
控制台输入三个不同类型的数据,求和后输出:
package day02;
import java.util.Scanner;
/**
* 控制台输入三个分别int float double 求和输出
*
* @author Administrator
*
*/
public class Demo1010 {
// 入口 main alt+/
public static void main(String[] args) {
// 1. 创建Scanner对象
Scanner i = new Scanner(System.in);
// 2.提示用户输入
System.out.println("请输入int float double..");
// 3.调用方法完成输入
int x = i.nextInt();
float y = i.nextFloat();
double z = i.nextDouble();
// 4.计算
double sum = x + y + z;
// 5.输出结果
System.out.println("sum :" + sum);
}
}

浙公网安备 33010602011771号