赋值运算符 =
public class Project2
{
public static void main(String[] args)
{
//把10赋值给int类型的变量i
int i=10;
System.out.println("i:"+i);
// +=把左边和右边的数据做加法操作 ,结果赋值给左边
i += 20; //可用i=i+20 替换
System.out.println("i:"+i);
short s=10;
//s+=20; 扩展的赋值运算符底层隐含了强制类型转换
s=(short)(s+20);
System.out.println("s:"+s);
}
}
/*F:\>javac Project2.java
F:\>java Project2
i:10
F:\>
*/
F:\>javac Project2.java
F:\>java Project2
s:30
F:\>
+= 加后赋值给左边
-= 减后赋值给左边
*=乘后赋值给左边
/=除后赋值给左边
%=取余后赋值给左边
注意:扩展的赋值运算符隐含了强制类型转换
自增自减运算符
++ 自增 变量的值加1
-- 自减 变量的值减1
public class Project2
{
public static void main(String[] args)
{
//定义变量
int i=10;
i++;
System.out.println("i:"+i);
}
}
F:\>javac Project2.java
F:\>java Project2
i:11
F:\>
public class Project2
{
public static void main(String[] args)
{
//定义变量
int i=10;
int j=i++;
System.out.println("i:"+i);
System.out.println("j"+j);
}
}
F:\>javac Project2.java
F:\>java Project2
i:11
j10
public class Project2
{
public static void main(String[] args)
{
//定义变量
int i=10;
int j=++i;
System.out.println("i:"+i);
System.out.println("j"+j);
}
}
F:\>javac Project2.java
F:\>java Project2
i:11
j11
F:\>
注意事项:
++和--即可以放在变量后面也可以放在前面
单独使用时 ++和--放在前后结果一样
参与操作时,放在变量之后,先拿参与变量操作,后拿变量做++或--
参与操作时,放在变量之前,先拿变量做++或--,后拿变量参与操作
关系运算符
== 是否相等
!=是否不相等
>= <= < >
成立为ture 不成立为fasle
关系运算符输出结果都是boolean类型
逻辑运算符:用来连接关系表达式的运算符,也可以直接连接布尔类型常量或者变量
& 逻辑与 (有false出false)
| 逻辑或 (有ture则ture)
^ 逻辑异或 (相同为false不同为ture)
!逻辑非 (相反结果)
public class Project2
{
public static void main(String[] args)
{
//定义变量
int i=10;
int j=20;
int k=30;
// &
System.out.println((i>j)&(i>k)); //false&false
}
}
F:\>javac Project2.java
F:\>java Project2
false
短路逻辑运算符
&& 短路与 当左边为false 右边则不执行
|| 短路或 当左边为ture 右边则不执行
public class Project2
{
public static void main(String[] args)
{
//定义变量
int i=10;
int j=20;
int k=30;
// &&
System.out.println((i>j)&&(i>k));
}
}
F:\>javac Project2.java
F:\>java Project2
false
三元运算符
格式: 关系表达式 ? 表达式1 : 表达式2 ;
例:a>b?a:b
计算规则:首先计算关系表达式的值
如果值为ture ,表达式1的值就是运算结果;
如果值为false,表达式2的值就是运算结果;
public class Project2
{
public static void main(String[] args)
{
//定义变量
int a=10;
int b=20;
// &
int max=a>b?a:b;
//输出结果
System.out.println("max"+max);
}
}
F:\>javac Project2.java
F:\>java Project2
max20
数据输入
Scanner使用基本步骤
1.导包 import java.util.Scanner;(导包的动作必须出现在类定义的上边)
2.创建对象 Scanner sc = new Scanner(System.in) (这个格式里面,只有sc是变量名称可以改变,其他都不允许改变)
3.数据接受 int i = sc.nextInt() (这个格式里面,只有i是变量名可以变,其他都不允许变)
import java.util.Scanner;
public class Project2
{
public static void main(String[] args)
{
//创建对象
Scanner sc = new Scanner(System.in);
//接收数据
int x = sc.nextInt();
//输出数据
System.out.println("x:"+x);
}
}
F:\>javac Project2.java
F:\>java Project2
10
x:10
F:\>
流程控制
流程控制语句分类
顺序结构
分支结构(fi, switch)
if语句格式1
if(关系表达式){
语句体;
}
if语句格式2
if(关系表达式){
语句体1;
}else{
语句体2;
}
循环结构 (for, while, do...while)
import java.util.Scanner; //导包
public class Project2
{
public static void main(String[] args)
{
//创建对象
//Scanner sc = new Scanner(System.in);
Scanner i = new Scanner(System.in);
//接收数据
//int x = sc.nextInt();
int x = i.nextInt();
//判断数据奇偶性
if(x%2==0)
{
System.out.println("该数字为偶数");
}else{
System.out.println("该数字为奇数");
}
//输出数据
//System.out.println("x:"+x);
}
}
F:\>javac Project2.java
F:\>java Project2
11
该数字为奇数
if语句格式3
格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n;
}
switch语句格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句n;
[break;]
}
case: 后面跟的是要和表达式进行比较的值;
break ; 表示终端,结束的意思 结束switch语句
default: 表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
case’ 穿透
循环结构组成:
初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环能否一直执行下去
循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环能否执行下去
for循环语句格式
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
执行流程
初始化语句 ->条件判断语句 --> 循环体语句--> 条件控制语句-->条件判断语句-->循环体语句...
public class Project2
{
public static void main(String[] args)
{
for (int i = 1;i<=10;i++)
{
System.out.println("i:"+i);
}
for (int i = 1; i<=10;++i){
System.out.println("i:"+i);
}
}
}
F:\>javac Project2.java
F:\>java Project2
i:1
i:2
i:3
i:4
i:5
i:6
i:7
i:8
i:9
i:10
i:1
i:2
i:3
i:4
i:5
i:6
i:7
i:8
i:9
i:10
任意数字的指定位上的数值如何求
先用整除操作将要求的数字移动到个位数上,再使用取余操作取出最后一位上的值
该位后面有几位数 就除以10的几次方 再对10取余
while 循环语句
完整格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
public class Project2
{
public static void main(String[] args)
{
double paper = 0.1;
int i=2;
int j=0;
int zf=8844430;
while (paper<=zf)
{
j++;
paper *=i;
}
System.out.println("折叠次数为"+j);
}
}
F:\>javac Project2.java
F:\>java Project2
折叠次数为27
do...while循环语句
完整格式:
初始化语句;
do{
循环体预计;条件控制语句;
}while(条件判断语句);
判断为ture继续执行循环
死循环
for(;;){
}
while(true)
{
}
do{
}while(ture);
跳转控制语句
continue 用在循环中,基于条件控制,跳过某次循环体内荣的执行,继续下一次的执行,
break 用刚在循环中,基于条件控制,终止循环体内荣执行,也就是说结束当前的整个循环
循环嵌套
import java.util.Scanner;
public class Project2
{
public static void main(String[] args)
{
System.out.println("输入小时");
Scanner h = new Scanner(System.in);
int i = h.nextInt();
System.out.println("输入分钟");
Scanner m = new Scanner(System.in);
int j = m.nextInt();
for(int hour=i;hour <24;hour++)
{
for(int minute=i;minute<60;minute++)
{
int f=0;
i=f;
System.out.println(hour+":"+minute);
}
}
}
F:\>javac Project2.java
F:\>java Project2
输入小时
10
输入分钟
20
10:10
10:11
10:12
10:13
10:14
10:15
10:16
10:17
10:18
10:19
10:20
10:21
10:22
10:23
10:24
10:25
10:26
10:27
10:28
10:29
10:30
10:31
10:32
10:33
10:34
10:35
10:36
10:37
10:38
10:39
10:40
10:41
10:42
10:43
10:44
10:45
10:46
10:47
10:48
10:49
10:50
10:51
10:52
10:53
10:54
10:55
10:56
10:57
10:58
10:59
11:0
11:1
random的作用和使用步骤
作用:用于产生一个随机数
使用步骤:
1.导包
import java,uti,Random;(导包的动作必须出现在类定义的上面)
2.创建对象
Random r = new Random();(这个格式中,r是变量名,可以变,其他不允许变)
3.获取随机数
int number = r.nextInt(10);//获取数据的范围;【0,10)包括0,不包括10
(这个格式里面,number是变量名,可以变,数字10可以变,其他都不允许变)
import java.util.Random;
public class Project2
{
public static void main(String[] args)
{
Random s = new Random();
for(int i=0;i<10;i++)
{
int number = s.nextInt(20);
System.out.println(number);
}
}
}
F:\>javac Project2.java
F:\>java Project2
11
18
16
8
10
14
6
8
7
13