【笔记】Java基础语法02(博主笔记,仅供参考)

导读:本篇文章讲解 【笔记】Java基础语法02(博主笔记,仅供参考),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【笔记】Java基础语法02(博主笔记,仅供参考)

本文为博主笔记,部分信息撰写不完整,仅供参考使用

P23 自动类型转换

以下类型自动向上转型:

  1. byte->short->int->long->float->double
  2. char->int->long->float->double

例如:

byte b = 1;
int a = b; // 这里a直接变为int类型

chart c = 'a'
int i = c; // i=97 也即是a的acii码对应的十进制

注意byte相加后是int

byte i = 100;
byte j = 200;
# 需要使用int类型接数据
int r = i+j

P24 强制类型转换

数据类型 变量=(数据类型)变量、数据

int a = 20
# 报错的情况
byte b = a;
# 使用强制转换
byte b = (byte)a;

P25 运算符

  1. 运算符

    ±*/ %

  2. 除法需要注意,为什么?

    • 如果两个整数相除结果一定是整数,因为他们之间的最高类型是整数
    • 如果想成为小数可以使用10*1.0/3 乘上一个1.0 转为double类型

P28 加符号做连接符

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

    System.out.println("---链接---");
    // 字符串和字符		= 字符串
    System.out.println("abc"+'d');
    // 字符串和数字类型 = 字符串
    System.out.println("abc"+d);
    // 数字与数字 = 数字
    System.out.println(d+8);
    // 数字 字符串 字符 = 字符串
    System.out.println("abc" + 5 + 'd');
    // 数字 字符串 数字 = 字符串
    System.out.println(1 + "abc" + 15);
    // 数字 字符 = 数字
    System.out.println(6 + 'a');
    // 数字 空字符串 字符 = 字符串
    System.out.println(6 +""+ 'a');
    // 数字 字符 空字符串  = 先计算再字符串
    System.out.println(6 +'a'+"ddd");
    // 字符串 数字 字符= 字符串
    System.out.println("ddd"+6 +'a');
    // 字符串 (数字 字符)  = 先计算再字符串
    System.out.println("ddd"+(6 +'a'));
    

P29 自增自减

  1. ++ – 对当前变量值+1 -1

  2. 放在变量前后有什么区别?

    • 单独使用没有区别
    • 非单独使用:在变量后,先运算后自增

    int a = 1;

    int b = a++; 先赋值再加加 b = 1 a = 2

    • 在变量前,先自增自减,再使用变量

    int a = 1;

    int b = ++a; 先加加再赋值

P31 运算符

1.赋值运算符

  1. += 加后赋值 a+=b 等价于a = (a的类型)(a+b)
  2. -= 减后赋值
  3. *= 成后赋值
  4. /=除后赋值
  5. %=取余后赋值

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

2. 关系运算符

  1. == 等于
  2. !=不等于
  3. >= 大于等于
  4. < 小于
  5. <= 小于等于

3. 逻辑运算符

  1. & 逻辑与

  2. | 逻辑或

  3. !逻辑非:

  4. ^ 逻辑异或:两个都是false 或者都是true时结果时false 反之为true

  5. 短路与 && 左边为false 右边不执行

  6. 短路或 || 左边为true 右边不执行

    double size = 8.9;
    double storage = 16;
    
    System.out.println(size > 8.2 | storage++ > 10);
    System.out.println(storage);
    # 输出
    true
    17.0
    System.out.println(size > 8.2 || storage++ > 10);
    System.out.println(storage);
    # 输出
    true
    16.0
        
    System.out.println(size < 8.2 && storage++ > 10);
    System.out.println(storage);
    # 输出
    false
    16.0
    System.out.println(size > 8.2 & storage++ > 10);
    System.out.println(storage);
    # 输出
    false
    17.0
    

4. 三元运算符

格式:条件表达式?值1:值2;

条件表达式true=值1 反之 值2

// 三个数最大值
public int Max(int a, int b, int c) {
	return a > b ? (a>c ? a : c ) : b > c ? b : c;
}

5. 运算符优先级

结合性:值得注意的是, 前置、后置运算只能用于变量, 不能用于常量和表达式, 且结合方向是从右至左。如当i=6 时, 求- i++的值和i 的值。由于“- ”(负号) “++”为同一个优先级, 故应理解为- (i++), 又因是后置加, 所以先有- i++的值为- 6, 然后i 增值1 为7, 即i=7。

优先级 运算符 结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、– 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 «、»、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= 从右向左

6. 键盘引入

  1. 使用Scannerhttps://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Scanner.html

    官网查看文档找到相关的使用说明

    package day03;
    import javax.sound.midi.Soundbank;
    import java.util.Scanner;
    import utils.Math;
    /**
     * 
     * @ClassName Main
     * @Description day01学习文件
     * @Author zhu
     * @Time 2022-09-01 22:36:28
     *
     */
    public class Main {
    	/**  
    	 * @Title: main方法
    	 * @Description: 测试使用
    	 * @param 无
    	 * @param para2
    	 * @return String
    	 * */
    	public static void main(String[] args) 
    		Scanner sc = new Scanner(System.in);
    		System.out.println("请输入一个整数");
    	    int i = sc.nextInt();
    	    System.out.println("您输入的i="+i);
    	}
    }
    next和nextline方法的区别在于nextLine会接收回车字符(包含空格和Tab键,下同)而next不会
    next会去除前面后者后面的回车字符,只截取有效字符。
    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119254.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!