7.14
(1)三元运算符
格式:关系表达式?表达式1:表达式2;
运行顺序:判断关系表达式是否为true,是则运行表达式1,否则运行表达式2
代码示例:
//比较大小
import java.util.Scanner;
public class Sanyuan {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1=sc.nextInt();
System.out.println("请输入第二个数:");
int num2=sc.nextInt();
//比较num1和num2
int max=num1>num2?num1:num2;
System.out.println("较大的数为"+max);
}
}
键盘输入:
1
2
程序结果:
较大的数为2
(2)原码反码补码
原码为二进制形式(8位)第一位为符号位(0为+,1为-)
反码:正数的反码与原码相同,负数的反码符号位不变,数值取反(0变1,1变0)
补码:正数的补码与原码相同,负数的补码为反码+1
7.15
(1)if语句1
格式:
if(关系表达式){
语句体;
}
运行顺序:首先计算关系表达式的值,如果为true则执行语句体,否则不执行
(注:boolean类型的变量进行判断时,不要用,直接把变量写在小括号即可)
(2)if语句2
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
(3)if语句3
格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体;
}
(4)switch语句
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体;
break;
}
运行顺序:首先计算表达式的值,然后与case的值比较,执行值相等的语句体,遇到break则结束,如果所有的case都不匹配,则执行default
7.16
(1)for循环
格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
代码示例:
//求1~5的和
public class Forxunhuan {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=5;i++) {
sum=sum+i;
}
System.out.println(sum);
}
}
(2)while循环
格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
代码示例:
//判断回文
import java.util.Scanner;
public class Xunhuan {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
int temp=i;
int num=0;
while(temp!=0) {
int ge=temp%10;
temp=temp/10;
num=num*10+ge;
}
System.out.println(num);//输出倒序
if(numi) {
System.out.println("此数是回文");
}else {
System.out.println("此数不是回文");
}
}
}
7.17
(1)do...while循环
格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
与while不同的是,do...while会先执行一次再判断,即至少执行一次
(2)continue和break
continue:跳过本次循环,继续执行下次循环
break:结束整个循环
(3)循环练习:逢七过
代码示例:
//打印1~100逢七过的数据
public class Xunhuan {
public static void main(String[] args) {
int i;
for(i=1;i<=100;i++) {
if(i%7!=0) {
System.out.println(i);
}else {
System.out.println("过");
}
}
}
}
7.18
(1)数组
格式:
数据类型 []数组名
或
数据类型 数组名[]
元素访问:
数组名[索引]
数组静态初始化:(手动指定数组元素,系统会根据元素个数,计算出数组长度)
数据类型 []数组名=new 数据类型[]{元素1,元素2...};
数组动态初始化:(手动指定数组长度,由系统给出默认初始化值)
数据类型[]数组名=new 数据类型[数组长度];
代码示例:
//求最值
public class Shuzu {
public static void main(String[] args) {
int arr[]=new int [] {1,1,4,5};
int max=arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[i]>max)
max=arr[i];
}
System.out.println(max);
}
}
运行结果:5
7.19
(1)方法
方法是程序中最小的执行单元
方法定义格式:
public static void 方法名(){
方法体(即打包的代码)
}
方法调用格式:
方法名();
(2)带参数的方法
定义格式:
public static void 方法名(参数1,参数2...){
方法体(即打包的代码)
}
代码示例:
import java.util.Scanner;
public class shuchu {
public static void main(String[] args) {
game();//调用
}
public static void game() {
System.out.println("打开抽卡界面");
System.out.println("请输入次数:");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
numb(i);//调用
}
public static void numb(int num) {
if(num<80)
System.out.println("没出");
if(num>80&&num<160)
System.out.println("歪了");
if(num>160)
System.out.println("出了");
}
}
7.20
(1)带返回值的方法
定义格式:
public static 返回值类型 方法名(参数1,参数2...){
方法体;
return 返回值;
}
调用:
直接调用:方法名(实参);
赋值调用:整数类型 变量名=方法名(实参);
输出调用:System.out.println(方法名(实参));
(2)方法重载
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
每个方法具有不同的参数或参数个数,这些同名的的方法,就构成了重载关系
(注:与返回值无关)
如:
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
构成方法重载