Java从入门到精通笔记三

Java基础

01 课程总体介绍

1、关于Java语言基础知识需要学会什么?
类型转换知识
运算符的使用
怎么调用Java提供的程序

02 类型转换:自动类型转换

1、为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量
2、自动类型转换是什么样的?
类型范围小的变量,可以直接赋值给类型范围大的变量

03 类型转换:表达式的自动类型提升

1、表达式的自动类型转换是什么样的?
小范围的类型会自动转换成大范围的类型运算
在这里插入图片描述
2、表达式的最终结果类型是由谁决定的?
最终类型由表达式中的最高类型决定
3、表达式的有哪些类型转换是需要注意的?
byte short char 是直接转换成 int 类型参与运算的

byte a = 10;
byte b = 20;
// byte c = a + b;  //错误
int c = a + b; //正确

04 类型转换:强制类型转换

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

int i = 1500;
byte j = (byte) i;
System.out.println(j); //-36

double score = 99.5;
int it = (int) score;
System.out.println(it); //99

05 运算符:基本的算术运算符

1、算数运算符有哪些?
+、-、 *、 /、 %
2、需要注意什么,为什么?
如果两个整数做除法,其结果一定是整数,因为最高类型是整数

int a = 10;
int b = 3;
System.out.println(a + b); //13
System.out.println(a - b); //7
System.out.println(a * b); //30
System.out.println(a / b); //3
System.out.println(a * 1.0 / b); //3.3333333333333335
System.out.println(a % b); //1

06 运算符:数据拆分案例

//需求:拆分3位数,把个位、十位、百位分别输出
int data = 589;
int ge = data % 10;
System.out.println(ge); //个位 9
int shi = data / 10 % 10;
System.out.println(shi); //十位 8
int bai = data / 100;
System.out.println(bai); //百位 5

07 运算符:加符号做连接符

1、+ 除了做基本数学运算,还有哪些功能?
与字符串做+运算时会被当成连接符,其结果还是字符串
独门秘籍:
能算则算,不能算就在一起 (计算机很聪明)

int a = 5 ;
System.out.println("abc" + 'a'); //abca
System.out.println("abc" + a);  //abc5
System.out.println(5 + a); //10
System.out.println("abc" + 5 + 'a'); //abc5a
System.out.println(15 + "abc" + 15); //15abc15
System.out.println(a + 'a'); //102
System.out.println(a + "" +'a'); //5a
System.out.println(a + 'a'+" itheima "); //102 itheima
System.out.println("itheima"+ a + 'a'); //itheima5a
System.out.println("itheima"+ ( a + 'a' )); //itheima102

08 运算符:自增、自减

1、自增、自减运算符是什么,有什么作用?
++、-- 对当前变量值+1、-1
2、自增、自减运算符在变量前后有区别吗?
如果单独使用放前后是没有区别的
非单独使用:在变量前 ,先进行变量自增/自减,再使用变量
非单独使用:在变量后 ,先使用变量,再进行变量自增/自

int a = 10;
a++;
System.out.println(a);//11
++a;
System.out.println(a);//12

int  b = 10;
--b;
System.out.println(b);//9
b--;
System.out.println(b);//8

int i = 10;
int j = ++i;
System.out.println(i); //11
System.out.println(j); //11

int m = 10;
int n = m++;
System.out.println(m); //11
System.out.println(n); //10

09 运算符:自增、自减扩展案例(面试常考)

int c = 3;
int d = 5;
//        int rs3 = c++ + ++c - --d - ++d + 1 + c--;
//  rs3   3   +  5  -  4 - 5 + 1 + 5
// c 3 4 5 4
// d 5 4 5
//        System.out.println(rs3); // 5
//        System.out.println(c); // 4
//        System.out.println(d); //5

int rs4 = c++ + ++c - --d + d-- - c-- + ++d + 2;
//  rs3   3   +  5  -  4  + 4   - 5   + 4   + 2
// c 3 4 5 4
// d 5 4 3 4
System.out.println(rs4); // 9
System.out.println(c); // 4
System.out.println(d); //4

10 运算符:赋值运算符

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

int a = 10;
int b = 200;
//a = a +b;
a += b;
System.out.println(a); //210

byte i = 10;
byte j = 20;
i += j; // i = (byte) (i + j)
System.out.println(i); //30

int m = 10;
int n = 5;
//        m +=n; // 等价于:m = (int) (m + n) = 15
//        m -=n; // 等价于:m = (int) (m - n) = 5
//        m *=n; // 等价于:m = (int) (m * n) = 50
//        m /=n; // 等价于:m = (int) (m / n) = 2
		  m %=n; // 等价于:m = (int) (m % n) = 0
System.out.println(m);

11 运算符:关系运算符

int a = 10;
int b = 10;
boolean rs = a == b;
System.out.println(rs); //true

System.out.println(a == b); //true
System.out.println(a != b); //false
System.out.println(a >= b); //true
System.out.println(a > b); //false
System.out.println(a <= b); //true
System.out.println(a < b); //false

int i = 10;
int j = 5;
System.out.println(i == j); //false
System.out.println(i != j); //true
System.out.println(i > j); //true
System.out.println(i >= j); //true
System.out.println(i < j); //false
System.out.println(i <= j); //false
System.out.println(i = j); //5

12 运算符:逻辑运算符

1、逻辑运算符有哪些,有什么特点?
逻辑与“&” :有一个为false、结果是false
短路与&&: 一个为false、结果是false。前一个为false,后一个条件不执行
逻辑或“|”:有一个为true、结果是true
短路或||:一个为true、结果是true。前一个为true,后一个条件不执行
逻辑非“!”:!false=true、 !true=false
逻辑异或“^” :相同是false、不同是true。
注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !

double size = 9.8;
double storage = 6;
//全true才true
System.out.println(size >= 6.95 & storage >= 8); //false
//有true为true
System.out.println(size >= 6.95 | storage >= 8); //true
//与原相反
System.out.println(!true); //false
System.out.println(!!true); //true
//异true同false
System.out.println(false ^ true); //true
System.out.println(false ^ false); //false
System.out.println(true ^ true); //false
System.out.println(true ^ false); //true

int a = 10;
int b = 20;
System.out.println(a > 100 && ++b > 10); //false
System.out.println(b); //20
System.out.println(a > 100 & ++b > 10); //false
System.out.println(b); //21

int i = 10;
int j = 20;
System.out.println(i > 2 || ++j > 10); //true
System.out.println(j); //20
System.out.println(i > 2 | ++j > 10); //true
System.out.println(j); //21

13 运算符:三元运算符

在这里插入图片描述

//double score = 98;
double score = 18;
String rs = score >= 60 ? "考试通过":"挂科";
System.out.println(rs); //挂科

//int a = 10; //max = 2000
int a = 10000; //max = 10000
int b = 2000;
int max = a > b ? a : b;
System.out.println(max);

14 运算符:三元运算符练习题

//求三个整数的最大值
int i = 10;
int j = 30;
int k = 50;
int temp = i > j ? i : j;
int rsMax = temp > k ? temp : k;
System.out.println(rsMax); //50

int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
System.out.println(rsMax1); //50

15 运算符优先级

在这里插入图片描述

System.out.println(10 > 3 || 10 > 3 && 10 < 3);  // true
System.out.println( (10 > 3 || 10 > 3 ) && 10 < 3);  // false

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

1、API是什么?
Application Programming Interface,应用程序编程接口
Java写好的程序,咱们可以直接调用
2、键盘录入的开发步骤
导包:import java.util.Scanner
抄写代码得到扫描器对象: Scanner sc = new Scanner(System.in)
抄写代码等待接收用户输入的数据: sc.nextInt() 、sc.next()

package com.itheima.type;
//1、导包操作(并不需要自己写,以后通过工具进行导入更方便)
import java.util.Scanner;

public class TypeDemo1 {
    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);
    }
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白*进阶ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值