吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2277|回复: 4
收起左侧

[学习记录] Java语言基础

   关闭 [复制链接]
yyx1113 发表于 2021-11-30 19:17
java语言基础
一、标识符
1、标识符就是用于给程序中变量、类、方法命名的符号。

2、必须以字母、下划线(_)、美元符($)开头数字不可以后面可以为任意数目的字母、数字、下划线和美元符
3、标识符不能是Java关键字和保留字,但可以包含关键字和
保留字。
此外有应注意:
1.标识符不能包含空格。
2.字母除了26个英文大小写字母外,也可以是中文
3.Java语言中标识符区分大小写,abc与Abc是不同的
二、关键字
◆Java语言中有一些具有特殊用途的单词被称为关键字。
◆所有关键字都是小写。
◆Java语言中一共有50个关键字。
◆当定义标识符时,不能让标识符和关键字相同

image-20211128173834501
三、变量命名法
1.驼峰命名法
是指混合使用大小写字母来构成变量和函数的名字。第一个
单词以小写字母开始;第二个单词的首字母大写或每一个单
词的首字母都采用大写字母。
例如: myfirstname、 mylastname
2.帕斯卡命名法
每一个单字的首字母都采用大写字母的命名格式
例如: Firstname、 Lastname
3.匈牙利命名法
基本原则是:变量名=属性+类型+对象描述,其中每一对象的
名称都要求有明确含义,可以取对象名字全称或名字的一部分。
例如:nNum(数据类型为int
四、数据类型

image-20211128174209184
基本数据类型保存在栈内存
引用数据类型保存在堆内存

image-20211128174454632
基本数据类型大小

image-20211128174614609
五、变量使用规则
◆使用变量也分为三步:
1.声明变量,根据数据类型大小申请对应内存空间
◆格式:变量类型 变量名;
String name;
2.赋值,即将数据存储到对应的内存空间中
◆格式:变量名=数值;
name="张三";
1和2可以合并
◆格式:变量类型变量名=数值:
string name="张三”;
◆3.使用变量,即从内存中取出数据,操作数据
System.out. println("姓名:"+name);
六、数据类型的转换
1、自动转换类型
◆在Java程序中,不同的基本数据类型的数据之间经常需要进
行相互转换。
例如:
int scorel = 100                //n为整型
double score2= score1;       // score1自动转换为 double
System, out. println(score2);
◆代码中int型变量 score1可以直接为 double型变量 score2完
成赋值操作,运行结果为:100.0
◆这种转换称为自动类型转换。其完成自动类型转换的条件为:
◆1.目标类型能与源类型兼容,如 double型兼容int型,但是
char型不能兼容int型
◆2.目标类型大于源类型,如 double类型长度为8字节,int
类型为4字节,因此 double类型的变量里直接可以存放int类型
的数,但反过来就不可以了
2、强制类型转换
◆以下代码中不能完成自动类型转换
int age 20; char sex =5;
char result=age+sex;//int类型不能自动转换为char类型
double avg 78.8;
int avg2=avg1;// double类型不能自动转换为int类型
◆我们任性就想霸王硬上弓,怎么办?
◆答:强制类型转换
◆格式:(数据类型)数值
int age = 20;
char seX='男';
char result =(char)age + sex;
double avg =78.8;
int avg2 =(int)avg1;
注意:强制类型转换可能会造成数据的丢失
例如:int类型转换为string类型
int i = 100
string m = i + ""
七、常量
◆所谓常量,我们可以理解为是一种特殊的变量,它的值
被设定后,在程序运行过程中不允许改变。
格式: final常量名=值;
final double PI 3.14;
final String LOVE ="15PB
final int MAX_ SIZE 100;
注意:程序中使用常量可以提高代码的可维护性。
常量名一般使用大写字符
八、控制台数据的输入-scanner使用
◆使用 Scanner:也分为三步
◆1.导入 Scanner类
import java.util.Scanner;
◆2.定义一个 Scanner类型的变量
Scanner input = new Scanner(System.in);
◆3.获取键盘输入的数据
String bookname = input. next();
int nId = input.nextInt();
九、表达式与运算符
◆程序是由许多语句组成的,语句的基本单位是表达式。
int n = n*(1+0.04);
◆表达式是由操作数和运算符组成。
运算符分为以下几类:
1.算术运算符 +
2.赋值运算符 =
3.比较运算符 ==
4.逻辑运算符 &
5.条件运算符 ?:
◆算术运算符主要用于进行基本的算术运算,如加法、戒法、 乘法、除法等。

image-20211129000503557
例:
◆小明期末考试考了4门,对自己的分数还算满意,想求总分和平均分,我们来帮帮他吧
    ◆语文:85.5
    ◆数学:98.8
    ◆英语:67.5
    ◆自然:75.5
代码:
double chinese =85.5;
double math = 98.8;
double english = 67.5;
double nature = 75.5;
double sum = chinese+math+english+nature;
double avg = sum/4;
System.out.println("小明的总分为:"+sum+"平均分为"+avg);
◆赋值运算符是指为变量或常量指定数值的符号。如可以使 用”=“将右边的表达式结果赋给左边的操作数

image-20211129001346365
例:
◆有两个数m=6,n=8,使用变量和赋值运算符将两数进行交换。
◆输出结果为:m=8n=6
代码:
int m=6;
int n=8;
System.out. println("m="+ m+ "n="+ n);
◆比较运算符用于判断两个数据的大小,例如:大于、等于 不等于。比较的结果是一个布尔值(true或 false)。

image-20211129001911102
注意:
判断字符串是否相等,不能使用==,使用equals()函数
◆逻辑运算符主要用于进行逻辑运算。

image-20211129002035639
◆条件运算符(?:)也称为“三元运算符”。 ◆语法格式:布尔表达式?表达式1:表达式2 ◆运算过程: ◆如果布尔表达式的值为true,则返回表达式1的值,否则返 回表达式2的值
String str=(5>6)?"5大于6”:"5不大于6";
System. out. println(str);
◆位运算符是对二进制数的每一位进行运算的符号,它是专门 针对数字0和1进行操作的。

image-20211129002707496
十、运算符的优先级

image-20211129002904419
十一、if语句

image-20211129003806580
例如:

image-20211129003252160
十二、if-else语句

image-20211129003627039
例:

image-20211129003908650
十三、多重if-else语句

image-20211129004012796
十四、嵌套if-else语句
◆嵌套if语句,只有当外层f的条件成立时,才会判断内 层f的条件。例如,活动计划的安排,如果今天是工作日, 则去上班,如果今天是周末,则外出游玩;同时,如果周未天 气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。语法
例如:
◆小奇去参加游泳比赛,预赛成绩大于80分的可进入决赛,
然后根据性别再划分为男子组决赛和女子组决赛。
设小奇的预算分数为90,性别为男
运行输出结果:恭喜,顺利进入男子组决赛
int score = 91;
       String sex = "男";
       if(score>90){
           if(sex.equals("男")){
               System.out.println("恭喜,顺利进入男子组决赛!");
           }else{
               System.out.println("恭喜,利进入女子组决赛!");
           }
       }else{
           System.out.println("谢谢参与,还需要再接再厉!");
       }
例如:
◆设置属于你的菜谱:如果今天是星期一、三、五,则早餐吃 包子,如果是星期二、四、六,则早餐吃油条,如果是星期日, 则吃“肯德基套餐”

十五、switch-case语句
◆当需要对选项进行等值判断时,使用 switch-case语句更 加简洁明了。 ◆例如年终大会抽奖,3等奖为ipad,2等奖为 i phone6,1等奖 为 macbook pro,安慰奖为移动硬盘。

image-20211129145750166
例如:
◆设置属于你的菜谱:如果今天是星期一、三、五,则早餐吃 包子,如果是星期二、四、六,则早餐吃油条,如果是星期日, 则吃“肯德基套餐”
        int week = 1;
        switch(week){
            case 1:
            case 3:
            case 5:
                System.out.println("吃包子");
                break;
            case 4:
            case 6:
                System.out.println("吃油条");
            break;
            case 7:
                System.out.println("吃肯德基");
        }
十六、循环语句
◆Java语言中常用的3种循环语句: while,do- while,for 1、 循环语句精简代码,重用代码 2、 循环语句可读性好,可维护性好
while语句

image-20211129151451432
◆执行流程: ◆1.判断 while后面的条件是否成立(真/假) ◆2.当条件成立时,执行循环内的代码,然后重复执行1,2直到循环不成立。
例如:
◆杨老师准备好了考试卷纸,要打印50份,请用循环实现它 ◆分析步骤: 1.确定循环的判断条件以及循环操作。50份 打印试卷 ◆2.套用 whi let语法写出代码
        int count = 0;
        while(count<=50){
            System.out.println("打印试卷");
        }
◆3.检车循环是否能够退出
        int count = 0;
        while(count<=50){
            System.out.println("打印试卷");
            count++;
        }
do-while语句

image-20211129153321672
◆执行流程: ◆1.判断 while后面的条件是否成立(真/假) ◆2.当条件成立时,执行循环内的代码,然后重复执行1,2直到循环不成立。
例如:
◆计算50以内(包括50)的偶数之和 ◆分析步骤 ◆1.确定循环的判断条件以及循环操作。 判断条件:小于等于50 循环操作:偶数累加 ◆2.套用do- while语法写出代码
        int num = 1;
        int sum = 0;
        do{
            if(num%2==0){
                sum= sum+num;
            }
        }while(num<=50);
        System.out.println(sum);
◆3.检查循环是否能够退出
        int num = 1;
        int sum = 0;
        do{
            if(num%2==0){
                sum= sum+num;
            }
            num++;
        }while(num<=50);
        System.out.println(sum);
for循环

image-20211129154844328
例如:
◆计算1到100之间不能被3整除的数之和 ◆分析步骤 ◆1.确定循环的判断条件以及循环操作。 判断条件:小于等于100 循环操作:100以内,被3整除的数累加 ◆2.套用for语句语法写出代码
        int sum = 0;
        for(int num = 1;num<=100;num++){
            if(num%3 != 0){
                sum = sum + num;
            }
        }
        System.out.println(sum);
◆3.检查循环是否能够退出
注意:
◆1.for关键字后面括号中的三个表达式必须用“;”隔开,三个表达式都可以省略,但“;”不能省略。 a.省略“循环变量初始化”,可以在for语句之前由赋 值语句进行变量初始化操作,如:

image-20211129160044570
b.省略“循环条件”,可能会造成循环将一直执行下去, 也就是我们常说的“死循环”现象,如:

image-20211129160133765
◆在编程过程中要避免“死循环”的出现,因此,对于上面代 码可以在循环体中使用 break强制跳出循环。
c.省略“更新循环变量”,可以在循环体中进行循环变量 的变化,如:

image-20211129160444310
2.for循环变量初始化和更新循环变量部分,可以是使用 “,”同时初始化或改变多个循环变量的值,如

image-20211129160857684
3.循环条件部分可以使用逻辑运算符组合的表达式,表示复 杂判断条件,但一定注意运算的优先级,如:

image-20211129160544048
十七、数组
◆数组是一组相同数据类型变量的集合 ◆数组中的元素在内存中是连续存储的 ◆数组下标是从0开始的 ◆数组的作用 1.存储相同数据类型的一组数据 2.对同类型数据集中存储、管理、便于遍历 ◆数组的特点 1.数组本身是一种引用类型
2.数组名只是引用,指向堆中创建的数组对象

image-20211130150329686
◆使用数组四步走 ◆1.声明数组 int scores[ ]; int[ ] scores;
◆声明数组:告诉计算机数据类型是什么
◆格式:数据类型数组名称门
int scores[];
数据类型[ ]数组名称;
int[ ] scores;
String[ ]names;
◆注意:声明数组时,不需要设置数组长度
◆2.分配空间 int scores[ ] =new int[10];
◆分配空间:告诉计算机分配几个连续的空间
◆格式:数据类型 数组名称门=new 数据类型[数组长度];
int scores[ ]= new int[10];
string[ ] names = new String[10];
◆注意:数组元素根据类型不同,有不同的初始值
int类型,默认初始值为0
String类型,默认初始值为null
double类型,默认初始值为0.0
◆3.赋值 scores[1]=100;
◆赋值:向分配的盒子里放入数据
方法一:先声明,再赋值(手动录入或者动态从键盘录入) 方法二:声明并赋值

image-20211130152030837
◆4.处理数组中数据 system. out.. println(” scores数组第二个元素的值为:“+score[1]);
◆对数据进行处理:访问数组元素,修改数组元素 1.访问数组元素,计算数组元素的总和
       int scores[] = {88,77,66,89,180};
       int sum = 0;
       for(int i=0;i<scores.length;i++){
           sum+= scores;
       }
       System.out.println("数组元素总和为:"+sum);
2.修改数组元素,对数组元素不足60的修改为60
       int scores[] = {88,44,66,89,180};
       int sum = 0;
       for(int i=0;i<scores.length;i++){
           if(scores<60){
               scores = 60;
           }
       }
       System.out.println("数组元素总和为:"+scores[1]);
数组遍历
方法一,使用for循环
      int scores[] = {88,44,66,89,180};
      for(int i=0;i<scores.length;i++){
           System.out.println(scores);
      }
方法二,使用foreach循环
&#8203; 格式:

image-20211130160911077
    int scores[] = {88,44,66,89,180};
    for(int score:scores){
        System.out.println(score);
    }
数组元素的查找
◆已知一个数组int[]nums={32,46,54.68,75,86,88,92,98}, 请查找数组中有无86这个数,有则输出数组下标。
        int nums[] = {32,46,54,68,75,86,8,92,98};
        int index = -1;
        for(int i=0;i<nums.length;i++){
            if (86 == nums){
                index = i;
            }
        }
        if(index!=-1){
            System.out.println("找到了,下标为:"+index);
        }
数组元素的排序
◆ Arrays类是Java中提供的一个工具类,在java.util包 中。该类中包含了一些方法用来直接操作数组,比如可直接实 现数组的排序、搜索等。
语法:Array.sort(数组名);//(按升序排列)
◆已知一个数组int[]nums={32,68,54,46,88,86,75,92,98}, 从小到大将其排序
        int num[]={32,68,54,46,88,86,75,92,98};
        int i =0;
        Arrays.sort(num);
        for(;i<num.length;i++){
            System.out.println(num);
        }
二维数组
◆二维数组可以看成以数组为元素的数组 ◆Java中二维数组的声明和初始化应按照从高维到低维的顺序 进行 例如:
int[][]arr1 = new int[10][];    //第一维长度未定
int[][]arr2 = new int[10][20];  //第二维长度确定
◆使用二维数组三步走 1.声明数组并分配空间

image-20211130175057306
2.赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个 赋值,注意索引从0开始 格式:数组名[行索引] [列索引]=值; 也可以在声明数组的同时为其赋值
int [][]arr1 = new int[][]{{3,2,1},{4,6}};
arr1[0][0] = 6;
3.处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下 标而已。在循环输出时,需要里面再内嵌一个循环,即使用二 重循环来输出二维数组中的每一个元素。如:
int[][]nums={{1,2,3},{4,5,6}};
for(int i=0;i<nums.length;i++){
    for(int j=0;j<nums.length;j++){
    System.out.println(num[j]);
    }
}
System.out.println();

java语言基础

一、标识符

1、标识符就是用于给程序中变量、类、方法命名的符号。

2、必须以字母、下划线(_)、美元符($)开头数字不可以后面可以为任意数目的字母、数字、下划线和美元符
 3、标识符不能是Java关键字和保留字,但可以包含关键字和
 保留字。
 此外有应注意:
 1.标识符不能包含空格。
 2.字母除了26个英文大小写字母外,也可以是中文
 3.Java语言中标识符区分大小写,abc与Abc是不同的

二、关键字

◆Java语言中有一些具有特殊用途的单词被称为关键字。
◆所有关键字都是小写。
◆Java语言中一共有50个关键字。
◆当定义标识符时,不能让标识符和关键字相同

image-20211128173834501

三、变量命名法

1.驼峰命名法
是指混合使用大小写字母来构成变量和函数的名字。第一个
单词以小写字母开始;第二个单词的首字母大写或每一个单
词的首字母都采用大写字母。
例如: myfirstname、 mylastname
2.帕斯卡命名法
每一个单字的首字母都采用大写字母的命名格式
例如: Firstname、 Lastname
3.匈牙利命名法
基本原则是:变量名=属性+类型+对象描述,其中每一对象的
名称都要求有明确含义,可以取对象名字全称或名字的一部分。
例如:nNum(数据类型为int

![]()
四、数据类型

image-20211128174209184

基本数据类型保存在栈内存

引用数据类型保存在堆内存

image-20211128174454632

基本数据类型大小

image-20211128174614609

五、变量使用规则

◆使用变量也分为三步:
1.声明变量,根据数据类型大小申请对应内存空间
◆格式:变量类型 变量名;
String name;
2.赋值,即将数据存储到对应的内存空间中
◆格式:变量名=数值;
name="张三";
1和2可以合并
◆格式:变量类型变量名=数值: 
string name="张三”;
◆3.使用变量,即从内存中取出数据,操作数据
System.out. println("姓名:"+name);

六、数据类型的转换

1、自动转换类型

◆在Java程序中,不同的基本数据类型的数据之间经常需要进
行相互转换。
例如:
int scorel = 100                //n为整型
double score2= score1;       // score1自动转换为 double
System, out. println(score2);
◆代码中int型变量 score1可以直接为 double型变量 score2完
成赋值操作,运行结果为:100.0
◆这种转换称为自动类型转换。其完成自动类型转换的条件为:
◆1.目标类型能与源类型兼容,如 double型兼容int型,但是
char型不能兼容int型
◆2.目标类型大于源类型,如 double类型长度为8字节,int
类型为4字节,因此 double类型的变量里直接可以存放int类型
的数,但反过来就不可以了

2、强制类型转换

◆以下代码中不能完成自动类型转换
int age 20; char sex =5;
char result=age+sex;//int类型不能自动转换为char类型
double avg 78.8;
int avg2=avg1;// double类型不能自动转换为int类型
◆我们任性就想霸王硬上弓,怎么办?
◆答:强制类型转换
◆格式:(数据类型)数值
int age = 20;
char seX='男';
char result =(char)age + sex;
double avg =78.8;
int avg2 =(int)avg1;
注意:强制类型转换可能会造成数据的丢失
例如:int类型转换为string类型
int i = 100
string m = i + ""

七、常量

◆所谓常量,我们可以理解为是一种特殊的变量,它的值
被设定后,在程序运行过程中不允许改变。
格式: final常量名=值;
final double PI 3.14;
final String LOVE ="15PB
final int MAX_ SIZE 100;
注意:程序中使用常量可以提高代码的可维护性。
常量名一般使用大写字符

八、控制台数据的输入-scanner使用

◆使用 Scanner:也分为三步
◆1.导入 Scanner类
import java.util.Scanner;
◆2.定义一个 Scanner类型的变量
Scanner input = new Scanner(System.in);
◆3.获取键盘输入的数据
String bookname = input. next();
int nId = input.nextInt();

九、表达式与运算符

◆程序是由许多语句组成的,语句的基本单位是表达式。
int n = n*(1+0.04);
◆表达式是由操作数和运算符组成。
运算符分为以下几类:
1.算术运算符 +
2.赋值运算符 =
3.比较运算符 ==
4.逻辑运算符 &
5.条件运算符 ?:

◆算术运算符主要用于进行基本的算术运算,如加法、戒法、
乘法、除法等。

image-20211129000503557

例:

◆小明期末考试考了4门,对自己的分数还算满意,想求总分和平均分,我们来帮帮他吧
    ◆语文:85.5
    ◆数学:98.8
    ◆英语:67.5
    ◆自然:75.5
代码:
double chinese =85.5;
double math = 98.8;
double english = 67.5;
double nature = 75.5;
double sum = chinese+math+english+nature;
double avg = sum/4;
System.out.println("小明的总分为:"+sum+"平均分为"+avg);

◆赋值运算符是指为变量或常量指定数值的符号。如可以使
用"="将右边的表达式结果赋给左边的操作数

image-20211129001346365

例:

◆有两个数m=6,n=8,使用变量和赋值运算符将两数进行交换。
◆输出结果为:m=8n=6
代码:
int m=6;
int n=8;
System.out. println("m="+ m+ "n="+ n);

◆比较运算符用于判断两个数据的大小,例如:大于、等于
不等于。比较的结果是一个布尔值(true或 false)。

image-20211129001911102

注意:

判断字符串是否相等,不能使用==,使用equals()函数

◆逻辑运算符主要用于进行逻辑运算。

image-20211129002035639

◆条件运算符(?:)也称为“三元运算符”。
◆语法格式:布尔表达式?表达式1:表达式2
◆运算过程:
◆如果布尔表达式的值为true,则返回表达式1的值,否则返
回表达式2的值

 String str=(5>6)?"5大于6”:"5不大于6";
 System. out. println(str);

◆位运算符是对二进制数的每一位进行运算的符号,它是专门
针对数字0和1进行操作的。

image-20211129002707496

十、运算符的优先级

image-20211129002904419

十一、if语句

image-20211129003806580

例如:

image-20211129003252160

十二、if-else语句

image-20211129003627039

例:

image-20211129003908650

十三、多重if-else语句

image-20211129004012796

十四、嵌套if-else语句

◆嵌套if语句,只有当外层f的条件成立时,才会判断内
层f的条件。例如,活动计划的安排,如果今天是工作日,
则去上班,如果今天是周末,则外出游玩;同时,如果周未天
气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。语法
image-20211129134825418                                            

例如:

◆小奇去参加游泳比赛,预赛成绩大于80分的可进入决赛,
然后根据性别再划分为男子组决赛和女子组决赛。
设小奇的预算分数为90,性别为男
运行输出结果:恭喜,顺利进入男子组决赛
 int score = 91;
       String sex = "男";
       if(score>90){
           if(sex.equals("男")){
               System.out.println("恭喜,顺利进入男子组决赛!");
           }else{
               System.out.println("恭喜,利进入女子组决赛!");
           }
       }else{
           System.out.println("谢谢参与,还需要再接再厉!");
       }

例如:

◆设置属于你的菜谱:如果今天是星期一、三、五,则早餐吃
包子,如果是星期二、四、六,则早餐吃油条,如果是星期日,
则吃“肯德基套餐”

十五、switch-case语句

◆当需要对选项进行等值判断时,使用 switch-case语句更 加简洁明了。 ◆例如年终大会抽奖,3等奖为ipad,2等奖为 i phone6,1等奖 为 macbook pro,安慰奖为移动硬盘。

image-20211129145750166

例如:

◆设置属于你的菜谱:如果今天是星期一、三、五,则早餐吃 包子,如果是星期二、四、六,则早餐吃油条,如果是星期日, 则吃“肯德基套餐”

        int week = 1;
        switch(week){
            case 1:
            case 3:
            case 5:
                System.out.println("吃包子");
                break;
            case 4:
            case 6:
                System.out.println("吃油条");
            break;
            case 7:
                System.out.println("吃肯德基");
        }

十六、循环语句

◆Java语言中常用的3种循环语句: while,do- while,for
1、 循环语句精简代码,重用代码
2、 循环语句可读性好,可维护性好

while语句

image-20211129151451432

◆执行流程:
◆1.判断 while后面的条件是否成立(真/假)
◆2.当条件成立时,执行循环内的代码,然后重复执行1,2直到循环不成立。

例如:

◆杨老师准备好了考试卷纸,要打印50份,请用循环实现它
◆分析步骤:
1.确定循环的判断条件以及循环操作。50份     打印试卷
◆2.套用 whi let语法写出代码

        int count = 0;
        while(count<=50){
            System.out.println("打印试卷");
        }

◆3.检车循环是否能够退出

        int count = 0;
        while(count<=50){
            System.out.println("打印试卷");
            count++;
        }

do-while语句

image-20211129153321672

◆执行流程:
◆1.判断 while后面的条件是否成立(真/假)
◆2.当条件成立时,执行循环内的代码,然后重复执行1,2直到循环不成立。

例如:

◆计算50以内(包括50)的偶数之和
◆分析步骤
◆1.确定循环的判断条件以及循环操作。
判断条件:小于等于50
循环操作:偶数累加
◆2.套用do- while语法写出代码

        int num = 1;
        int sum = 0;
        do{
            if(num%2==0){
                sum= sum+num;
            }
        }while(num<=50);
        System.out.println(sum);

◆3.检查循环是否能够退出

        int num = 1;
        int sum = 0;
        do{
            if(num%2==0){
                sum= sum+num;
            }
            num++;
        }while(num<=50);
        System.out.println(sum);

for循环

image-20211129154844328

例如:

◆计算1到100之间不能被3整除的数之和
◆分析步骤
◆1.确定循环的判断条件以及循环操作。
判断条件:小于等于100
循环操作:100以内,被3整除的数累加
◆2.套用for语句语法写出代码

        int sum = 0;
        for(int num = 1;num<=100;num++){
            if(num%3 != 0){
                sum = sum + num;
            }
        }
        System.out.println(sum);

◆3.检查循环是否能够退出

注意:

◆1.for关键字后面括号中的三个表达式必须用“;”隔开,三个表达式都可以省略,但“;”不能省略。
a.省略“循环变量初始化”,可以在for语句之前由赋
值语句进行变量初始化操作,如:

image-20211129160044570

b.省略“循环条件”,可能会造成循环将一直执行下去,
也就是我们常说的“死循环”现象,如:

image-20211129160133765

◆在编程过程中要避免“死循环”的出现,因此,对于上面代
码可以在循环体中使用 break强制跳出循环。

c.省略“更新循环变量”,可以在循环体中进行循环变量
的变化,如:

image-20211129160444310

2.for循环变量初始化和更新循环变量部分,可以是使用
“,”同时初始化或改变多个循环变量的值,如

image-20211129160857684

3.循环条件部分可以使用逻辑运算符组合的表达式,表示复
杂判断条件,但一定注意运算的优先级,如:

image-20211129160544048

十七、数组

◆数组是一组相同数据类型变量的集合
◆数组中的元素在内存中是连续存储的
◆数组下标是从0开始的
◆数组的作用
1.存储相同数据类型的一组数据
2.对同类型数据集中存储、管理、便于遍历
◆数组的特点
1.数组本身是一种引用类型

image-20211130150748210 2.数组名只是引用,指向堆中创建的数组对象

image-20211130150329686

◆使用数组四步走
◆1.声明数组
int scores[ ];
int[ ] scores;

◆声明数组:告诉计算机数据类型是什么
 ◆格式:数据类型数组名称门
 int scores[];
 数据类型[ ]数组名称;
 int[ ] scores;
 String[ ]names;
 ◆注意:声明数组时,不需要设置数组长度

◆2.分配空间
int scores[ ] =new int[10];

◆分配空间:告诉计算机分配几个连续的空间
◆格式:数据类型 数组名称门=new 数据类型[数组长度];
int scores[ ]= new int[10];
string[ ] names = new String[10];
◆注意:数组元素根据类型不同,有不同的初始值
int类型,默认初始值为0
String类型,默认初始值为null
double类型,默认初始值为0.0

◆3.赋值
scores[1]=100;

◆赋值:向分配的盒子里放入数据

方法一:先声明,再赋值(手动录入或者动态从键盘录入)image-20211130151839811 方法二:声明并赋值

image-20211130152030837

◆4.处理数组中数据
system. out.. println(" scores数组第二个元素的值为:"+score[1]);

◆对数据进行处理:访问数组元素,修改数组元素
1.访问数组元素,计算数组元素的总和

       int scores[] = {88,77,66,89,180};
       int sum = 0;
       for(int i=0;i<scores.length;i++){
           sum+= scores[i];
       }
       System.out.println("数组元素总和为:"+sum);

2.修改数组元素,对数组元素不足60的修改为60

       int scores[] = {88,44,66,89,180};
       int sum = 0;
       for(int i=0;i<scores.length;i++){
           if(scores[i]<60){
               scores[i] = 60;
           }
       }
       System.out.println("数组元素总和为:"+scores[1]);

数组遍历

方法一,使用for循环

      int scores[] = {88,44,66,89,180};
      for(int i=0;i<scores.length;i++){
           System.out.println(scores[i]);
      }

方法二,使用foreach循环

​ 格式:

image-20211130160911077

    int scores[] = {88,44,66,89,180};
    for(int score:scores){
        System.out.println(score);
    }

数组元素的查找

◆已知一个数组int[]nums={32,46,54.68,75,86,88,92,98},
请查找数组中有无86这个数,有则输出数组下标。

        int nums[] = {32,46,54,68,75,86,8,92,98};
        int index = -1;
        for(int i=0;i<nums.length;i++){
            if (86 == nums[i]){
                index = i;
            }
        }
        if(index!=-1){
            System.out.println("找到了,下标为:"+index);
        }

数组元素的排序

◆ Arrays类是Java中提供的一个工具类,在java.util包
中。该类中包含了一些方法用来直接操作数组,比如可直接实
现数组的排序、搜索等。

 语法:Array.sort(数组名);//(按升序排列)

◆已知一个数组int[]nums={32,68,54,46,88,86,75,92,98},
从小到大将其排序

        int num[]={32,68,54,46,88,86,75,92,98};
        int i =0;
        Arrays.sort(num);
        for(;i<num.length;i++){
            System.out.println(num[i]);
        }

二维数组

◆二维数组可以看成以数组为元素的数组
◆Java中二维数组的声明和初始化应按照从高维到低维的顺序
进行
例如:

int[][]arr1 = new int[10][];    //第一维长度未定
int[][]arr2 = new int[10][20];  //第二维长度确定

◆使用二维数组三步走
1.声明数组并分配空间

image-20211130175057306

2.赋值

二维数组的赋值,和一维数组类似,可以通过下标来逐个
赋值,注意索引从0开始
格式:数组名[行索引] [列索引]=值;
也可以在声明数组的同时为其赋值

int [][]arr1 = new int[][]{{3,2,1},{4,6}};
arr1[0][0] = 6;

3.处理数组

二维数组的访问和输出同一维数组一样,只是多了一个下
标而已。在循环输出时,需要里面再内嵌一个循环,即使用二
重循环来输出二维数组中的每一个元素。如:

int[][]nums={{1,2,3},{4,5,6}};
for(int i=0;i<nums.length;i++){
    for(int j=0;j<nums[i].length;j++){
    System.out.println(num[i][j]);
    }
}
System.out.println();

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

飘零星夜 发表于 2021-11-30 20:22
大佬 , 你这教程 排版有点乱啊.

如果是学习笔记的话, 最好注明下学习的是那本书 或者哪些书 或者视频什么的.
detewhkn 发表于 2021-11-30 20:24
同意楼上,从头看到尾感觉挺累的,还是排一下版比较好
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表