知识是珍宝,但实践是得到它的钥匙。——托马斯·富勒
Java基础知识之运算符和输入输出
一、运算符1.算术运算符:包括:+,-,*,/(整数运算取整),%(取余),++(递增1),–等
2.赋值运算符:包括:=,+=,-=,*=,/=,%=
3.逻辑运算符:包括:&(逻辑与),|(逻辑或),!(非),^(异或),&&(短路与),||(短路或)
4.条件运算符:包括:()?:一般形式为(三目运算符)
表达式1?表达式2:表达式3;
5.关系运算符:包括:==,!=,,>=
6.位运算符:包括:按位取反〜, 按位与&, 按位或|, 按位异或^, 左移<> ,无符号右移>>>
运算符图片:
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)
实践代码图片:
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
实践代码图片:
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
实践代码图片:
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);
实践代码图片:
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 = 11101010(表示右移,如果该数为正,则高位补0,若为负数,则高位补1)
无符号右移>>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
详解见:/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()方法:
只使用nextLine()方法:
同时使用next()方法和nextLine()方法:
非常感谢读者们的阅读,大家一起学习,成长。
有错误请指正,万分感谢!