![b4d0813310e72731303094c14ecb6c32.png](https://i-blog.csdnimg.cn/blog_migrate/84094cbea9b98f025dad5a92fa7556db.jpeg)
知识是珍宝,但实践是得到它的钥匙。——托马斯·富勒
Java基础知识之运算符和输入输出
一、运算符
- 1.算术运算符:包括:+,-,*,/(整数运算取整),%(取余),++(递增1),–等
- 2.赋值运算符:包括:=,+=,-=,*=,/=,%=
- 3.逻辑运算符:包括:&(逻辑与),|(逻辑或),!(非),^(异或),&&(短路与),||(短路或)
- 4.条件运算符:包括:()?:一般形式为(三目运算符)
表达式1?表达式2:表达式3; - 5.关系运算符:包括:==,!=,<,<=,>,>=
- 6.位运算符:包括:按位取反〜, 按位与&, 按位或|, 按位异或^, 左移<<, 右移>> ,无符号右移>>>
运算符图片:
![b3cf3e863245314b3f6fa43e65578ede.png](https://i-blog.csdnimg.cn/blog_migrate/e29cbe7fcb81d3ce6ea237da0d602087.jpeg)
1.算数运算符
实践代码,搓搓小手动起来(=!=):
//算数运算符
int a = 1;
int b = 2;
System.out.println(a+b);//3
System.out.println(a/b);//0,1/2整数运算(0.5取0)
System.out.println(a%b);//1,1%2除不尽余1
int c = 3;
double d = 3.0;
System.out.println(c/b);//1
System.out.println(c%b);//1
System.out.println(d/b);//1.5
System.out.println(d%c);//0.0
int f = c++;
System.out.println("f=" + f +" "+"c=" + c);
//f=3,c=5,后缀++:变量首先进行操作(f=c=3),再自身进行加(c=c+1=4)
int g = ++c;
System.out.println("g=" + g +" "+"c=" + c);
//c=5,g=5,前缀++:变量自身首先加(c=4+1),然后再进行操作(g=5)
实践代码图片:
![8026377da7bed0239e523902f947e976.png](https://i-blog.csdnimg.cn/blog_migrate/8bcfb66dcbfccfc69987303b0334f32d.jpeg)
2.赋值运算符
实践代码,搓搓小手动起来(=!=):
int h = 1;//将1赋值给变量h
System.out.println(h+=1);//h=h+1=1+1=2
System.out.println(h-=1);//h=h-1=2-1=1
System.out.println(h*=2);//h=h*2=1*2=2
System.out.println(h/=2);//h=h/2=2/2=1
System.out.println(h%=1);//h=h%1=2%1=0
实践代码图片:
![8ec43eaacce72ecbb50f34e5c2eb9586.png](https://i-blog.csdnimg.cn/blog_migrate/537ad4d0eec8dfbeb9b91be0561041e2.png)
3.逻辑运算符
两边结果都应该是返回值为布尔类型的表达式
&和&&:当且仅当两边结果都为 true 时,结果为 true
|与||: 当且仅当两边结果都为 false 时,结果为 false
& 与 &&(|与||)的区别:
& 和 | 左右两边的式子一定会执行(=!= 笨一些),
&& 和 || 只要左边的式子能得出结果,右边的式子就不会执行(^v^ 聪明一些)。
^ : 两边结果相异时,结果为 true ;
! : a=true,那么 !a = false;a=false,那么 !a = true;
实践代码,搓搓小手动起来(=!=):
/* 逻辑运算符
两边结果都应该是返回值为布尔类型的表达式
&和&&:当且仅当两边结果都为 true 时,结果为 true
|与||: 当且仅当两边结果都为 false 时,结果为 false
& 与 &&(|与||)的区别:
& 和 | 左右两边的式子一定会执行(=!= 笨一些),
&& 和 || 只要左边的式子能得出结果,右边的式子就不会执行(^v^ 聪明一些)。
^ : 两边结果相异时,结果为 true ;
! : a=true,那么 !a = false;a=false,那么 !a = true;
*/
int i = 5;
Boolean result = i<1 & i>4 ;
System.out.println(result);//false
result = i<1 && i>4 ;
System.out.println(result);//false
result = i>1 && i>4 ;
System.out.println(result);//true
result = i>1 || i>4 ;
System.out.println(result);//true
result = i>1 ^ i>4 ;
System.out.println(result);//false
result = i>1 ^ i<4 ;
System.out.println(result);//true
System.out.println(!result);//false
实践代码图片:
![3c439b4328ac03991172a6661b55a8a3.png](https://i-blog.csdnimg.cn/blog_migrate/e397103a95bee082b6ca151d0588e3b7.jpeg)
4.条件运算符
实践代码,搓搓小手动起来(=!=):
//条件运算符
int x=1,y=1;
int j = (x == y)? 10:20;//j=10;如果x==y(相等),那么j就等于第一个值(10);反之,那么j就等于第二个值(20)
System.out.println(j);
j = (x != y)? 10:20;//j=20;
System.out.println(j);
实践代码图片:
![7455f8bee854831be1f590fb993e9004.png](https://i-blog.csdnimg.cn/blog_migrate/60469bbb2e63b9a8aaf66b4512c899f0.png)
5.关系运算符
实践代码,搓搓小手动起来(=!=):
//关系运算符
System.out.println(x==y);//true
System.out.println(x!=y);//false
6.位运算符
/*
位运算符:1为true,0为false,同上 逻辑运算符 去理解
按位取反〜,〜01010101=10101010 (1变0 0变1)
按位与&,11111001&10001111 = 10001001 (同为1时为1 )
按位或|,11111001|10001111 = 11111111 (只要有一个为1就为1)
按位异或^,11111001^10001111 = 01110110 (相同为0 不同为1)
左移<<,10101011<<2 = 10101100(表示左移,不分正负数,低位补0)
右移>>,10101011>>2 = 11101010(表示右移,如果该数为正,则高位补0,若为负数,则高位补1)
无符号右移>>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
详解见:https://www.cnblogs.com/chuijingjing/p/9405598.html
*/
二、输入输出
- 输入:使用Scanner对象输入
Scanner(http://System.in)
import java.util.Scanner与next()或nextInt()方法 - 输出:
println():输出并换行
print():输出不换行
1.输入
实践代码:
//输入
Scanner sc = new Scanner(System.in);//System.in是你键盘输入的值,被Scanner对象赋值给了变量sc
System.out.println("请输入一个字符串:");//键盘输入
String s = sc.next();//sc调用next()方法,将sc的值转变为字符串类型,赋值给字符串s
/*
nextInt()读取结果为int类型
nextFloat()读取结果为float类型
next()读取结果为String类型
next(),nextInt(),nextFloat()看到空格符或回车符都认为读取结束
next Line()读取结果为String类型
nextLine()只以回车符为结束,并且会读取回车符
*/
System.out.println(s);
System.out.println(sc.nextLine());
要了解next()方法和nextLine()方法的区别:
只使用next()方法:
![3793791eed0d651b12f119b061c99433.png](https://i-blog.csdnimg.cn/blog_migrate/91d4f932fe5309cebe29e582b36ec067.jpeg)
![127883f24c99b4962c5d24ebe4f45efa.png](https://i-blog.csdnimg.cn/blog_migrate/ea65705b6c1e5d6119afea963bbaf987.jpeg)
只使用nextLine()方法:
![1884bf8e601a622a6fb4d90abcb1494d.png](https://i-blog.csdnimg.cn/blog_migrate/4ed752d7da7d0c8fe5ddd68dc30b7e1c.jpeg)
同时使用next()方法和nextLine()方法:
![272fa6a06d9fe4c180c6295349b5468d.png](https://i-blog.csdnimg.cn/blog_migrate/559220716c026257265ea8c6d708687e.jpeg)
非常感谢读者们的阅读,大家一起学习,成长。
有错误请指正,万分感谢!