Java初接触 | 数据类型转换、运算符、键盘录入技术

183 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12月更文挑战」的第8天

数据类型转换

自动类型转换

  • 类型范围小的变量,可以直接赋值给类型范围大的变量 57a8219d2686e40f90b080146874b64.jpg

  • 表达式的最终结果类型由表达式中的最高类型决定

  • 在表达式中,byte、short、char直接转换成int类型参与运算的。

强制类型转换

可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
强制转换:Alt+回车

数据类型 变量2 = (数据类型) 变量1、数据
int a =20;
byte b = (byte)a;

注意事项:
强制类型转换可能造成数据(丢失)溢出
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

运算符

/:除
注:在JAVA中两个整数相除结果还是整数

%:取余
获取的是两个数据做除法的余数

例:

int a = 10;
int b = 3;
System.out.println(a/b);      //3.3333 → 3
System.out.println(a*1.0/b);  //3.3333
System.out.println(a%b);      //1

案例:

//需求:拆分3位数,把个位,十位、百位分别输出
int data = 589;

//1.个位
int ge = data % 10;
System.out.println(ge);

//2.十位
int shi = data / 10 % 10;
System.out.println(shi);

//3.百位
int bai = data / 100;
System.out.println(bai);

"+"做连接符

“+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。

int a = 5 ;
System.out.println(“abc"+'a');// abca
System.out.println("abc"+a);// abc5
System.out.println(5 + a);// 10
System.out.printin("abc" + 5 +'a'); //abc5a
System.out.println(15 + "abc" + 15);//15abc15
System.out.println(a + 'a'); //**'a'做字符串时二进制为97,所以为102**
System.out.println(a + "" + 'a');//5a
System.out.printin(a+'a'+" itheima");//102 itheima
System.out.println("itheima" + a + 'a');//itheima5a
System.out.printin("itheima" + ( a + 'a' ));//itheima102

能算则算,不能算就在一起

自增自减运算符

f5ce1c3f9d41981e8a50f621449e161.jpg

注意:
++ 和--既可以放在变量的后边,也可以放在变量的前边。
++、--只能操作变量,不能操作字面量的。

自增自减的使用注意事项
++、--如果不是单独使用(如在表达式中、或者同时有其它操作),放在变量前后会存在明显区别

  • 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算
  • 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
//在表达式中或者不是单独操作的情况,++ --在变量前后存在区别
//++ --在变量前面。先+1 -1 再使用。
int i=10;
int j = ++i;
System.out.println(i);// 11
System.out.println(j);// 11

//++ --在变量的后面 先使用再+1 -1
int m =10;
int n=m++;
System.out.println(m);// 11
System.out.println(n);//10

扩展赋值运算符

2a8afaf1b7e6c8d78aa7b88bdec8a62.jpg

注意:扩展的赋值运算符隐含了强制类型转换

关系运算符

是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(fourth、true) c18087ef75316aa09319d775165bd47.jpg

在做相等判断时,千万不要把==写成=

逻辑运算符概述

可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。 4809331122388d1d5cf4f63ebbb00fd.jpg

短路逻辑运算符 491c26749e01cb73a751f710c524ff4.jpg
注意:逻辑与“&”、逻辑或“|”:无论左边是false还是true,右边都要执行。

三元运算符

格式:条件表达式?值1:值2;
执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2

3f72b3aad8938462fabe2d61e89fd80.jpg

//目标:学会使用三元运算符,理解其流程
double score = 18;
String rs = score >= 60? "考试通过":"挂科";
System.out.println(rs);

//需求:需要从2个整数中找出较大值
int a = 10;
int b = 2000;
int max = a > b ? a:b;
System.out.println(max);

案例:求三个整数的最大值 需求:定义三个整数,找出最大值并打印在控制台。 分析: 1.用三元运算符获取前两个整数的最大值,并用临时变量保存起来。 num1 > num2 ? num1 : num2; 2.用三元运算符,让临时最大值,和第三个整数,进行比较,并记录结果。 temp > num3 ? temp: num3; 3.输出结果

//需求:需要从3个整数中找出较大值
int i = 10;
int j = 30;
int k= 50;
//1、找出2个整数的较大值
int temp = i > j ? i : j;
//2、拿临时变量与第三个变量的值继续比较
int rsMax = temp > k ? temp: k;
System.out.println(rsMax); 

----------------------------------------
等同于嵌套形式
int rsMaxl = i > j ? (i > k ? i : k) :(j > k ? j : k);
System.out.println(rsMax1);

运算符优先级

255fa4865637dfda3702e06c55b097a.jpg

案例知识:键盘录入技术

b5601ae91b58348145c33b480226cb1.jpg

API (Application Programming Interface,应用程序编程接口)

  • Java写好的程序(功能代码),咱们可以直接调用。
  • Oracle也为Java写好的程序提供了相应的API文档。

下载API文档: www.oracle.com/technetwork…

c804c116b4d79c7df618257eaf0d9a1.jpg

//1、导包操作(并不需要自己写的,以后通过工具进行导入更方便)
public class ScannerDemo {
    public static void main(String[] args) {
        // 目标:学会使用键盘录入技术
        // 2、得到一个键盘扫描器对象
        Scanner sc = new Scanner(System.in);
    
        //3、调用sc对象的功能等待接收用户输入的数据
        //这个代码会等待用户输入数据,直到用户输入完数据并按了回车键就会把数据拿到。
        System.out.println("请您输入您的年龄:“);
        int age = sc.nextInt();
        System.out.println("您的年龄是:"+age); 
    
        System.out.println("请您输入您的名称:“);
        String name = sc.next();
        System.out.println("欢迎:"+name);
    }
}