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

 

2=>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     总结:

  1. 数据类型:基本类型和引用类型
  2. 基本类型的8个类型要记熟;int ->4字节
  3. 类型转换: 自动转换(隐式) , 强制转换(显式)
  4. 运算符: 算术,比较,赋值

 

1.9     作业:

  1. 智慧教学云平台的作业
  2. 本周内容总结,思维导图,word文档,手写都行.
  3. 编码题目一定要数量,下周一默写.

 

 

 

 

 

 

 

 

 

 

 

 

 

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);

  }

 

}

 

 

posted @ 2021-12-02 15:10  左边第三只猫  阅读(82)  评论(0)    收藏  举报