Java基础知识二

一、算数运算符

符号

作用

例子

+

加号

5+2=7

-

减号

5-2=3

*

乘号

5*2=10

/

除号(注:整数相除时,商取整数)

5/2=2

%

取余符号(注:相除后,取余数)

5%2=1

注:整数相运算的结果只能得到整数,如果想要得到小数,需要有小数参与运算

例:键盘录入一个三位数,分别输出这个数的个位、十位、百位

import java.util.Scanner;
public class NumSplit
{
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int num=scanner.nextInt();
        while (num<100 | num>999)
        {
            System.out.println("输入错误,请重新输入:");
            num=scanner.nextInt();
        }
        int ge=num%10;       //计算个位
        int shi=num/10%10;   //计算十位
        int bai=num/100%10;  //计算百位,最高位多计算一个,如果只计算百位,则bai=num/100就行了
        System.out.println("个位:" + ge);
        System.out.println("十位:" + shi);
        System.out.println("百位:" + bai);
    }
}

二、字符串拼接操作

当 + 操作中,只要遇到了字符串,这时 + 就是字符串连接符,而不是算术运算。

例如:

System.out.println("age:"+18);     
System.out.println("age:"+18+1);          //遇到了字符串"age",后面的+号都变为字符串连接符,不包括使用()提升+的算术优先级
System.out.println(10+"age:"+18);         //字符串连接
System.out.println(10+20+"age:"+18);      //前面10+20可以进行加法运算,只要遇到一个字符串,则 + 变为连接符
System.out.println(10+20+"age:"+(18+1));  //可以利用()将后面的拼接作用的+ 变为加法运算符,这里用()将18+1的算术优先级提高,可以进行计算

三、自增自减运算符

符号

作用

说明

++

自增

变量自身的值加1

--

自减

变量自身的值减1

变量前++(--) 和 变量后++(--)的区别:

变量前++(--)就是先将变量进行赋值操作,然后再进行++(--)运算

变量后++(--)就是先将变量进行++(--)运算后,然后进行赋值操作

例如:

int a=0;
int b=a++;   //即先将变量a的值赋值给b,然后变量a再进行++,这行运行结束时b=0,a=1(--同理)
System.out.println(b);
b=++a;       //即先对变量a进行++,然后再将a的值赋值给b,a++运算完后a的值为2,然后再赋值给b,此时b=2,a=2(--同理)
System.out.println(b);

四、类型转换

类型转换分为:1、隐式类型转换 2、强制类型转换

  1. 隐式类型转换

存储范围小的数据类型自动转换为存储范围大的数据类型

转换规则:byte→short(char)→int→long→float→double

例:

int a=10;
double b=2.5;
double c=a;  //自动将int类型的变量a转换为double类型,也提高了精度
double d=a+b;
char ch='a';
int e=a+ch;    //ch的值是字符'a',而字符a的Ascall码是97,然后与a进行相加,得到num2的值为107
System.out.println(c);
System.out.println(d);
System.out.println(e);

注:byte short char 三种数据在运算的时候,都会提升为int,然后再进行运

  1. 强制类型转换

存储范围大的数据类型想转换为存储范围小的数据类型时,必须强制转换

例:

int num1=10;
double num2=3.14;
//如果想大范围的转换到小范围的,则要强制转换,在大范围的变量前面加(小范围数据类型)可以将大范围的变量强制转换为小范围的数据类型
int num3=num1+(int)num2;     
System.out.println(num3);

五、赋值运算符

符号

作用

说明

=

赋值

a=10,将10赋值给a

+=

加后赋值

a+=10,即a=a+10,将a+10后赋值给a

-=

减后赋值

a-=10,即a=a-10,将a-10后赋值给a

*=

乘后赋值

a*=10,即a=a*10,将a*10后赋值给a

/=

除后赋值

a/=10,即a=a/10,将a/10后赋值给a

%=

取余后赋值

a%=10,即a=a%10,将a%10后赋值给a

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

例(以%=为例):

int num=10;
num %= 10;     //即num=num % 10
System.out.println(num);

六、关系运算符

符号

说明

==

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

例:

        System.out.println(1==5);    //不成立,输出false
        System.out.println(1!=5);    //成立,输出true
        System.out.println(1<5);     //成立,输出true
        System.out.println(1>5);     //不成立,输出false
        System.out.println(1<=5);    //成立,输出true
        System.out.println(1>=5);    //不成立,输出false

七、逻辑运算符

符号

介绍

说明

&

逻辑与

&两边都为true才为true

|

逻辑或

|两边只要有true,则为true

!

逻辑非

取反操作

^

逻辑异或

^两边,相同为false,不通为true

&&

短路与

&&左边为true,才执行右边,若左边为false,则不执行右边

||

短路或

||左边为false,才执行右边,若左边为true,则不执行右边

八、三元运算符

int max=num1>num2?num1:num2 //如果num1>num2,则返回num1,否则返回num2

例:利用三元运算符找出三个数中的最大值

        Scanner scanner=new Scanner(System.in);
        int num1= scanner.nextInt();
        int num2= scanner.nextInt();
        int num3= scanner.nextInt();
        int temp=num1 > num2 ? num1 : num2;     //定义一个临时整型变量,用来存储num1和num2的较大值
        int max=temp > num3 ? temp : num3;      //然后将temp和num3比较,将这两个中较大值赋值给max,得出最大值
        System.out.println(max);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值