三、类型转换_运算符_API_Scanner

1、课程总体介绍

关于Java语言基础知识同学们需要学会什么?
类型转换知识              运算符的使用            怎么调用Java提供的程序
如何实现程序中            程序中怎么进行数据        程序员需要调用Java
不同类型的变量            的基本算术运算、以及       写好的一些程序,这些程序
或者数据互相传输,         一些逻辑运算、Java       如何去调用
不同类型的数据运算         提供了具体哪些
的结果数据的类型如何确定?   运算方式

2、类型转换_自动类型转换

什么是自动类型转换,为什么要学习自动类型转换?
类型范围小的变量,可以直接赋值给类型范围大的变量。

自动类型转换的底层原理
byte a = 12;         a 00001100 (8位)
int  b = a;          b 00000000 00000000 00000000 00001100 (32位)
System.out.println(b);

自动类型转换的其他形式
byte --> short --> int --> long --> float --> double
         char
         
总结
1、为什么要进行类型转换?
   存在不同类型的变量赋值给其他类型的变量
2、自动类型转换是什么样的? 
   类型范围小的变量,可以直接赋值给类型范围大的变量。        

3、类型转换_表达式的自动类型提升

byte、char、short --> int --> long --> float --> double
注意事项:
   表达式的最终结果类型由表达式中的最高类型决定。
   在表达式中,byte、short、char是直接转换成int类型参与运算的。
   
总结
1、表达式的自动类型转换是什么样的?            
   小范围的类型会自动转换成大范围的类型运算。
2、表达式的最终结果类型是由谁决定的?
   最终类型由表达式中的最高类型决定。
3、表达式的有哪些类型转换是需要注意的?
   byte short char是直接转换成int类型参与运算的。      

4、类型转换_强制类型转换

场景
int a = 功能1();                int a = 20;
功能2(byte b);                  byte b = a;

问题
类型范围大的数据或者变量,不能直接赋值给类型范围小的变量。

强制类型转换
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型  变量2 = (数据类型)变量1、数据
int a  = 20;
byte b = (byte) a;

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

总结
1、什么是强制类型转换?
   可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
   数据类型  变量  =  (数据类型)变量、数据
2、强制类型转换有哪些需要注意的?
   可能出现数据丢失。
   小数强制转成整数是直接截断小数保留整数。   

5、运算符_基本的算术运算符

运算符
运算符:对字面量或者变量进行操作的符号。
算术运算符
符号        作用             说明
 +          加              参考小学一年级
 -          减              参考小学一年级
 *          乘              参考小写二年级,与"×"相同
 /          除              与"÷"相同,注意:在java中两个整数相除结果还是整数。
 %          取余             获取的是两个数据做除法的余数
 
总结
1、算数运算符有哪些?
   +、-、*、/、%
2、/需要注意什么,为什么?
   如果两个整数做除法,其结果一定是整数,因为最高类型是整数。   

6、运算符_数据拆分案例

案例  数值拆分
   需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台

7、运算符_加符号做连接符

”+“做连接符
"+"符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
能算则算,不能算就在一起。

总结
1、+除了做基本数学运算,好友哪些功能?
  与字符串做+运算时会被当成连接符,其结果还是字符串。
  能算则算,不能算就在一起。

8、运算符_自增_自减

自增自减运算符
符号          作用               说明
++           自增               变量自身的值加1
--           自减               变量自身的值减1

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

自增自减的使用注意事项
++、--如果不是单独使用(如在表达式中、或者同时有其他操作),放在变量前后会存在明显区别
    放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
    int a = 10;
    int rs = ++a;
    放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
    int b = 10;
    int rs = b++;
    
总结
1、自增、自减运算符是什么,有什么作用?    
    ++、--。对当前变量值+1、-1
2、自增、自减运算符在变量前后有区别吗?
    如果单独使用放前后是没有区别的。
    非单独使用:在变量前,先进行变量自增/自减,再使用变量。
    非单独使用:在变量后,先使用变量,再进行变量自增/自减。    

9、运算符_自增_自减拓展案例_面试常考

public static void main(String[] args) {
    //目标:学会使用自增自减运算符  ++ --
    System.out.println("--------拓展案例(可以了解和参考)-------");
    int k = 3;
    int p = 5;
    //k  3   4       5               4
    //p  5                 4   3             4
    //  rs   3   +   5 -   4 + 4   - 5   +   4 + 2
    int rs = k++ + ++k - --p + p-- - k-- + ++p + 2;
    System.out.println(k);
    System.out.println(p);
    System.out.println(rs);
}

10、运算符_赋值运算符

基本赋值运算符
就是"="
int a = 10; // 先看"="右边,把数据10赋值给左边的变量a存储。
扩展赋值运算符
符号             作用                说明
+=              加后赋值             a+=b 等价于 a = (a的数据类型)(a+b);将a+b的值给a       
-=              减后赋值             a-=b 等价于 a = (a的数据类型)(a-b);将a-b的值给a
*=              乘后赋值             a*=b 等价于 a = (a的数据类型)(a*b);将a*b的值给a
/=              除后赋值             a/=b 等价于 a = (a的数据类型)(a/b);将a/b的值给a
%=              取余后赋值           a%=b 等价于 a = (a的数据类型)(a%b);将a%b的值给a
注意:扩展的赋值运算符隐含了强制类型转换

总结
1、赋值运算符有哪些?
 =、+=、-=、*=、/=、%=
2、作用是什么?
 基本作用是赋值。
 +=还可以实现数据的累加,把别人的数据加给自己。 

11、运算符_关系运算符

关系运算符
是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。
符号       说明
==        a==b,判断a和b的值是否相等,成立为true,不成立为false                  
!=        a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>         a>b,判断a是否大于b,成立为true,不成立为false
>=        a>=b,判断a是否大于等于b,成立为true,不成立为false
<         a<b,判断a是否小于b,成立为true,不成立为false
<=        a<=b,判断a是否小于等于b,成立为true,不成立为false
注意:在做相等判断时,千万不要把 == 误写成 =

12、运算符_逻辑运算符

逻辑运算符概述
可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。
   全部结果 > 屏幕尺寸:6.95英寸及以上  运行内存:8GB  "手机"
符号    介绍             说明
&      逻辑与            必须都是true,结果才是true;只要有一个是false,结果一定是false
|      逻辑或            只要有一个为true,结果就是true
!      逻辑非            你真我假,你假我真,!true = false、!false = true
^      逻辑异或           如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true。
短路逻辑运算符
符号    介绍             说明
&&     短路与            判断结果与"&"一样。过程是左边为false,右边则不执行。
||     短路或            判断结果与"|"一样。过程是左边为true,右边则不执行。
注意:逻辑与"&"、逻辑或"|":无论左边是false还是true,右边都要执行。

总结
逻辑与"&":有一个为false、结果是false
短路与&&:一个为false、结果是false。前一个为false,后一个条件不执行了
逻辑或"|":有一个为true、结果是true
短路或||:一个为true、结果是true。前一个为true,后一个条件不执行了
逻辑非"!": !false = true、!true = false
逻辑异或"^":相同是false、不同为tru。
注意:实际开发中、常用的逻辑运算符还是:&&、||、!

13、运算符_三元运算符

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

14、运算符_三元运算符练习题

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

15、运算符_优先级问题

运算符优先级
在表达式中,哪个运算符先执行后执行是要看优先级得,例如"*、/"的优先级高于"+、-"。
优先级    运算符
1        ()
2        !、-、++、--
3        *、/、%
4        +、-
5        <<、>>、>>>
6        <、<=、>、>=、instanceof
7        ==、!=
8        &
9        ^
10       |
11       &&
12       ||
13       ?:
14       =、+=、-=、*=、/=、%=、&=、

16、API介绍_案例技术_键盘录入

需求:
请完成Java程序与用户交互,比如录入用户输入的名称、年龄,怎么办?。
JDK                         JRE
javac、java等开发工具         JVM 程序(API)
API(Application Programming Interface,应用程序编程接口)
 Java写好的程序(功能代码),咱们可以直接调用。
 Oracle也为Java写好的程序提供了相应的API文档(技术使用说明书)。
下载API文档
http://www.oracle.com/technetwork/java/javase/downloads/index.html

键盘录入功能实现的三个步骤: 
1.导入:告诉程序去JDK的哪个包中找扫描器技术
2.写一行代码代表得到键盘扫描器对象
3.等待接收用户输入数据。

注意:
   System、String在JDK中的java.lang包下
   lang包不需要我们导包,是默认的包。
   
总结
1、API是什么?
Application Programming Interface,应用程序编程接口
Java写好的程序(功能代码),咱们可以直接调用。
2、键盘录入的开发步骤
导包:import java.util.Scanner;
抄写代码得到扫描器对象:Scanner sc = new Scanner(System.in)
抄写代码等待接收用户输入的数据:sc.nextInt()、sc.next() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值