java语法基础2(运算符、标识符)

1.运算符

1.1算数运算符:

1.2特别强调(算数运算符)

(1)除“/”
System.out.println(10/4);//这里是两个整形像除,因此结果也是整形自动向下整为2
System.out.println(10.0/4);//10.0默认为double型,因此结果为2.0
double d = 10 / 4;//这个实际上就是将整形2自动转换成double型2.0
System.out.println(d);//运行结果是2.0
(2)取模“%”

在这里需要强调一个取模的公式:a % b = a - a / b * b

 //10%-3 = 10-10/(-3)*(-3)=1
System.out.println(10%3);//1
System.out.println(-10%3);//-1
System.out.println(10%-3);//1
System.out.println(-10%-3);//-1
(3)自增“++”
 /*
作为表达式
前++:++i先自增后赋值
后++:i++先赋值后自增
*/
int j = 8;
int i = 8;
int z = ++j;//先j+=1;k=j
int k = i++;//先k=j;j+=1
//此时i=9,j=9,z=9,k=8;

1.2关系运算符

关系运算符的结果都是boolean型,也就是要么是true,要么是false。通常在if结构的条件中或者循环结构的条件中使用。

1.3逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

文字描述

总体看起来好像有点复杂,下面分组进行区分。

(1)“&&”和“&”基本规则

//相同点
//都需要两个条件均成立才能返回true,否则返回false
//区别
int a = 4;
int b = 9;
//对于 && 短路与而言,如果第一个条件为false。后面的条件不在判断
//对于 & 逻辑与而言,如果第一个条件为false。后面的条件仍然会判断
if(a<1 && ++b<50)
{
    System.out.println("ok");//不输出OK,因为存在一个条件不成立
}
System.out.println(a +" "+b);//a=4,b=9
//因为第一个条件不满足所以++b不执行
if(a<1 & ++b<50)
{
    System.out.println("ok");//不输出OK,因为存在一个条件不成立
}
System.out.println(a+" "+b);//a=4.b=10;
//虽然第一个条件不满足,但对于逻辑与而已++b执行

(2)“||”和“|”基本规则

//相同点
//只要两个条件中有一个成立就返回true,否则返回false
//区别
//对于||短路或:如果第一个条件为true则第二个条件不会判断,最终结果为true,效率高
//对于|逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
int a = 4;
int b = 9;
if(a>1 || ++b>4){
    System.out.println("ok");
}
System.out.println("a="+a+"b="+b);//4 9
if(a>1 | ++b>4){
     System.out.println("ok");
}
System.out.println("a="+a+"b="+b);//4 10

1.4赋值运算符

赋值运算符“=”,int a = 10 ,就是将a的值变为10。该部分和c语言一样。复合赋值运算符如“+=”,“-=”,“*=”,“/=”,“%=”。具体用法举个例子:a+=10等价于a=a+10,其余的一次类推。

相关细节

(1)运算符顺序从右向左 :int num = a+b+c,先算右边的再把右边的赋值给左边

(2)赋值运算符的左边 只能是变量,右边可以是是变量、表达式、常量值:int num = 20;int num = 78*34-10;int num = a

(3)赋值运算符会进行类型的转换

byte c = 2;
c += 3;//等价于(byte)(b+2);
//c =c+2这样写就会发生错误
// 因为c+2为整形,无法直接赋值,但是复合赋值运算符会自动转换

  1.5三元运算符

基本语法

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

1.如果条件表达式为true,运算后的结果是表达式1;

2.如果条件表达式为false,运算后的结果是表达式2;

int a = 10;
int b = 99;
int result = a>b ? a++ : b--;
//a>b为false,因此运算第二个表达式

相关细节

(1)表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)举一个错误的例子:

int c = a>b ? 1.1:3.4;//因为最后会返回double型,而c为整形,因此这是错误的

(2)三元运算符可以转成if--else语句(因为三元运算符的本质就是先判断再选择)

1.6运算符的优先级

                 

梳理一下:

(1)(),{}等

(2)单目运行++ --

(3)算术运算符

(4)位移运算符

(5)比较运算符

(5)逻辑运算符

(6)三元运算符

(7)赋值运算符

2.标识符

2.1标识符的命名规则和规范

标识符的概念

1.java中对各种变量、方法和类等命名时使用的字符序列称为标识符

2.凡是自己可以起名字的地方都叫标识符 int num1 = 90;

标识符的规则(必须遵守)

标识符的规范(尽量遵守)

3.输入

import java.util.Scanner;//导入java.util下的scanner类导入
/*
1.引入/导入scanner类所在的包
2.创建scanner对象,new创建一个对象myscanner
3.接收用户输入,使用相关的方法
 */
//当程序执行到next方法时,使用相关的方法
public class tree {
    public static void main(String[] args){
        Scanner myscanner = new Scanner(System.in);
        System.out.println("请输入名字");
        String name = myscanner.next();//接收用户输入
        System.out.println("请输入年龄");
        int age = myscanner.nextInt();//接收用户输入int,其他数据类型一次类推
        System.out.println("名字="+name+" 年龄="+age);
    }
}

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值