10.运算符
算术运算符:+,-,*,/,%,++,--
+:加法运算 数值+数值 数值+字符
+:连接 字符串+字符串 字符串+数值
如:int x=5;
x++; //x=x+1
++x;//x=x+1
int y=x++ +1; //x先进行运算后自增 x=6;y=6;
int y=++x +1; //x先自增后运算赋值 x=6; y=7;
注:单独的++,--是没有区别的
关系(比较运算符):>,<,>=,<=,==,!=
<,>=,<=,只能进行数值之间的比较
==,!=,也能进行数值之间的比较,还可以逻辑值与逻辑值比较,还可以引用类型与引用类型
11.逻辑运算符:
!,&,|,&&,||,^,逻辑值(true/false)与逻辑值之间的运行
&与&&结果一样 &&出现第一个false整个表达式短路
|与||结果一样 ||出现第一个true整个表达式短路
!:逻辑非 !true=false !false=true
^:异或 相同为false 不同为true
&,|,^还可以进行位运算
=:把右边的值赋给左边的 数据类型 变量=值;
a+=b; //a=a+b;
short s=3;
s=s+3; s+3上升为int类型
s+=3; 隐式的类型转换 s=(short)(s+3);
注:+=,-+,*=,/=,%=,赋值运算,会隐式进行数据转换
如:int i=1; i*=0.1; i=0 i是int型,强制转换
12.条件运算符:
(条件表达式)?表达式1:表达式2
如:int a=10; int b=5; int max=(a>b)?a:b; max=10;
String max=(a>b)?"成立":"不成立"
13.位运算:bit位进行运算
int a = 10;
System.out.println(a<<2); 二进制bit位向左移位
System.out.println(a>>1); 二进制bit位向右移位
System.out.println(a>>>1); 二进制bit位向右移位,无符号右移
注意负数,移位后默认补0
&:与
int x=4; int y=3; System.out.println(x&y); 结果是0 后四位:0100 0011
0000
|:或
int x=4; int y=3; System.out.println(x|y); 结果是7 后四位:0100
0011 0111
~:非
System.out.println(~x); x=5;
^:异或
System.out.println(x^y); x=7;
14.控制台输入:
运算顺序
控制台输入 使用标准输入串System.in 使用Scanner取得一个字符串或一组数字 在新增一 个Scanner对象时需要一个System.in对象,因为实际上还是 System.in在取得 用户输入。 package practice;
import java.util.Scanner; //在文件头带入 java.util.Scanner
public class Demo { public static void main(String[] args) { Scanner scanf = new Scanner(System.in); int m = scanf.nextInt(); } } Scanner的next()方法用以 取得用户输入的字符串;
nextInt()将取得的输入字符串转换为整数类型;
15.控制语句
条件语句:根据不同的条件,执行不同语句. a.if if ....else if ....else if....else if....else if ..else if(条件语句){条件满足时执行此语句} else { 条件不满足时执行} /* 当执行语句只有一条时不建议取消{}. if ....else if....else if ..else语句当有一个满足后免得语句就不执行. / b.switch(表达式){ case 值1 :执行语句;break; case 值2 :执行语句;break; default:执行语句; } /表达式为:byte,short ,int,char,枚举类型; case后面的值应与表达式的类型一致,不能是变量; 如果没有break就会沿着语句执行直到遇到break或结束;循环语句: 反复执行.
16.循环语句
四个部分:循环变量的初始化 循环条件部分 循环体部分 循环变量的更新 语句分类: for while 先判断在执行 do...while 先执行在判断. for(变量的初始化;条件部分;变量的更新){ 循环体部分 } while(条件部分){ 循环体 } do{ 循环体 }while(条件)break:终止某个语句块的执行. continue:终止某次的循环.



