常有的运算符

常用的运算符

检查问题分析

  1. 命名规范

    • 类名:大驼峰命名法 HelloWorld
    • 变量名:小驼峰命名法 helloworld
    • 常量名:所有的字母都大写,如果有多个单词,使用_连接
    • 包名(package):全部小写
  2. 缩进问题

    • 缩进是同级对齐,下级对齐

    • 反例

      // xxx
      	xxxx
          xxxx       
      
  3. 输入语句结合输出语句的问题

    使用Scanner

    1. 导入Scanner

    2. 创建Scanner对象

    3. 使用

      1. next() 可以输入字符串
      2. nextInt() 可以输入整数
      3. nextDouble() 可以输入小数
      package demo1;
      
      import java.util.Scanner;
      
      public class HelloWorld {
          Scanner scan = new Scanner(System.in);
          
          // 请输入您的年龄:18
          System.out.print("请输入您的年龄:");
          int age = scan.nextInt();
          System.out.print("请输入您的姓名:");
          String name = scan.next();
      }
      
  4. 注释规范

    • 注释应该加在想要解释的代码的 上方 或又侧

    • 注释的双斜线与注释内容有且仅有一个空格

      // 创建对象
      Scanner scan = new Scanner(System.in);
      input.nextInt();
      

1.类型转换

在Java中存在自动数据类型转换和强制数据类型转换。

  • 自动数据转换类型:取值范围小的类型可以自动转换为取值范围大的类型

    double num = 10;

  • **强制数据类型转换:**取值范围大的类型无法直接转换为取值范围小的类型

    • 可以帮我们实现取整效果

      int num = (int)10.5;

    类型转换也不是万能的,Java前期可以转换的就是byte、short、int、long、float、double、char这些。

    自动转换例如:

    byte b = 10;

    int num = b;

    强制转换例如:

    int num = 10;

    byte b = num;

    字符的秘密

    // 自动数据类型转换
    char alpha = 'a';
    int num = alpha;
    System.out.println("num: "+num); // 97
    // 强制类型转换
    int mun1 = 99;
    char alphal = (char) num1;
    System,out,print("alphal: "+alphal); // c
    

    它们的转换遵循了相应的码表,例如:ASCll码表。a是97、A是65…

2.赋值运算符

=号在各种编程语言中,不在表示相等,而是表示赋值。

只有极个别的语言,=号又表示赋值,又表示相等。

// 读法;将数字10赋值给变量num
// 将等号右侧的赋值给等号左侧的
int num = 10;

// 变量和变量之间的赋值
// 将num的赋值变量给num2
int num2 = num;

3.算术运算符

+ 加法
- 减法	
* 乘法
/ 除法
% 取余数
++ 自增
-- 自减

四则运算

int num1 = 11;
int num2 = 2;
System.out.println(num1 / num2); // 5

在Java中进行数学计算时,有时候会出现与传统数学观念不符的情况,例如:11 / 2 应该等于5.5,但结果为5。

是由于11和2都是整数,那么在计算的时候,对于结果的类型也是采用整数。(在计算的时候,计算结果的类型是由计算的值中取值范围最大的类型)

如果真的想得到5.5,需要如下做:

int num1 = 11;
int num2 = 2;
System.out.println(num1 * 1.0 / num2); // 5.5

自增和自减

++ 自增1

– 自减1

int num1 = 10;
// ++ num1;
// num1 ++;   抽象理解为: num1 = num1 + 1

// num1 --;
-- num1; // 抽象理解为:num1 = num1 - 1
// System.out.println(num1); // 11
System.out.println(num1); // 9

当++ 和 – 在单独使用时,效果上没有任何区别。

但是当 ++ 和 – 在被使用或参与计算时,效果上不同。

  • ++:在使用时会先对变量自增1,然后在使用变量
  • ++:在使用时会先使用变量,然后在对变量自增1
  • --:在使用时会先对变量自减1,然后在使用变量
  • --:在使用时会先使用变量,然后在对变量自减1
int num1 = 10;

System.out.println(++ num1); // 11
System.out.println(num1); // 11

int num2 = 10;

System.out.println(-- num2); // 9
System.out.println(num2); // 9

字符的秘密

字符是可以和数值转换的。

char alpha1 = 'a';
alpha1 ++; // 理解为:alpha1 = alpha + 1
System.out.println(alpha1); // b
		
char alpha2 = 'b';
// 在计算时,结果的类型是取值范围大的类型
System.out.println(alpha2 + 1); // 99

4.复合赋值运算符

  • +=
  • -=
  • *=
  • /=
  • %=
int num1 = 10;
num1 += 2; // 理解为: num1 = num1 + 2
System.out.println(num1); // 12

int num2 = 12;
num2 -= 3; // 理解为:num2 = num2 - 3
System.out.println(num2); // 9

以后可以利用 += 和 -= 做累加运算。

例如:求1到10的和。

int num =1;

num +=2; num1+2

num +=3; //

num +=4;

5.关系运算符

比较运算符,可以用来做判断,比较运算符的计算结果是 布尔类型 值。

true(真) 和 false(假)

  • >
  • <
  • >=
  • <=
  • == 相等
  • !=不相等

=号代表赋值, ==才代表

6.逻辑运算符

  • && 短路与,并且
  • || 短路或,或者
  • ! 非,取反
//	System.out.println(!true);
//	System.out.println(!false);

double javaScore = 59;
// 判断是否>=60
System.out.println(javaScore >= 60);
// 判断是否<60
System.out.println(javaScore < 60);
System.out.println(!(javaScore >= 60));

短路

// 将数字7赋值给变量num1
int num1 = 7;
// 右边在做逻辑运算
// false && true
boolean flag2 = false && (++ num1 == 8); 
System.out.println(flag2); // false
System.out.println(num1); // 7

短路与和短路或,代表的是如果前面的条件能够得到最终结果,那么后面的条件就不再进行了!

  • false && true 只要有一个为false,结果就为false
    • 面试要求你学历本科,经验5年以上
  • true || false 只要有一个为true,结果就为true

还有一个 & 和 | 也可以表示逻辑关系,但是一般不用,因为它们无论是否能从前面条件得到最终结果,都要对所有条件进行计算。

所以 && 和 || 可以优化程序执行性能。

7.三元运算符

Scanner scan = new Scanner(System.in);

System.out.print("请输入您的年龄:");
int age = scan.nextInt();

String result = (age >= 18) ? "快来玩啊!" : "小屁孩给爷爪巴!";
System.out.println(result);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值