Java入门篇

参考资料:https://www.imooc.com/code/1598

一,Java中的关键字

     Java 语言中有一些具有特殊用途的词被称为关键字。

     例:abstract ; boolen ; break ; byte ; care ; char ; class ; continue ; default ; do ; else....

     (ps:java同c++ 一样,是区分大小写的语言。)

二,Java中的标识符

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

     (即c++ 中 的变量名。)

     命名规则:

     1.  标识符可以字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

     2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

      3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

      4.  标识符的命名最好能反映出其作用,做到见名知意

三,Java中的数据类型

     int , double , float  , boolean 都与c++中用法无异。

     char :包括两个字节,可以存放一个汉字。

     String: 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。

四,Java中的自动类型装换和强制类型转换

     自动类型转换是需要满足特定的条件的:

     1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型;

     2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了。

     强制类型装换基本同c++ 中强制类型转换用法。

五,Java中的运算符

      包括:算术运算符,赋值运算符,比较运算符,逻辑运算符,条件运算符,运算符的优先级。

      基本同c++中用法。

六,流程控制语句

       包括:if,if...else,switch,等条件语句;

                   while,do...while,for,等循环语句;

                   break,continue,等循环跳转语句。

       用法基本同c++ 。

六,如何使用数组

      数组中的元素都可以通过下标来访问,下标从 0 开始。

      1,声明一个数组            

            语法:  数据类型[ ] 数组名;

                          或者   数据类型 数组名[ ];

      2, 分配空间

            简单地说,就是指定数组中最多可存储多少个元素

            语法:  数组名 = new  数据类型 [ 数组长度 ];

      3,也可以将两步合并在一起进行。

七,应用数组

     1, 数组名.length  用于获取数组的长度;

     2, 数组下标从 0 开始。因此 scores[3] ,表示数组中的第 4 个元素,而并非第 3 个元素

     3, 数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错。

八,使用Arrays操作Java中的数组

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

     1、 排序

            语法:  Arrays.sort(数组名);

            可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)。

      2、 将数组转换为字符串

             语法:  Arrays.toString(数组名);

             可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开。

九,使用foreach操作数组

      foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。

      语法:for(元素类型 元素变量:遍历对象){

                  执行的代码;

                  }

十,二维数组

      1、 声明数组并分配空间

            数据类型[ ] [ ]  数组名 = new 数据类型 [行的个数 ] [ 列的个数 ];

            或者:

                  数据类型 [ ] [ ] 数组名;

                  数组名 = new 数据类型 [行的个数 ] [ 列的个数 ];

       2、 赋值

             二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始。

       3、 处理数组

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

十一,定义Java中的方法

        (小声bb:类似于c++中的类体中的功能函数。)

           所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

           语法:访问修饰符 返回值类型 方法名(参数列表){

                         方法体;

                        }

           其中:

          1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

           2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

           3、 方法名:定义的方法的名字,必须使用合法的标识符

           4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 

根据方法是否带参、是否带返回值,可将方法分为四类:

             无参无返回值方法;无参带返回值方法; 带参无返回值方法; 带参带返回值方法。

十二,方法的重载

         (再次小声bb:就是函数重载。)

           如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。

           判断方法重载的依据:

           1、 必须是在同一个类中

           2、 方法名相同

           3、 方法参数的个数、顺序或类型不同

           4、 与方法的修饰符或返回值没有关系

十三,编程总结

            要求:

            1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73

            2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入

             3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩

            运行效果:

            任务:

            一》 定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名

                  提示:
             1、 在方法中使用 Arrays 类的 sort( ) 方法对数组进行排序,默认按升序排列,注意 Arrays 类的使用需要导入 java.util.Arrays
                  2、 由于只需要输出考试成绩的前三名,所以定义一个变量,统计有效成绩的前三名的数量
               3、 使用 for 循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历 如 for ( int i = scores.length - 1; i >= 0; i-- ) { }
                  4、 判断成绩的有效性,如果成绩小于 0 或大于 100 ,则使用 continue 忽略此成绩
                  5、 如果成绩有效,则有效成绩数加 1 。判断有效成绩的个数,如果有效成绩数大于 3 ,则结束循环,只输出成绩的前三名

             二》 完成 main 方法

                   提示:
                   1、 定义一个成绩数组 scores ,保存预定的考试成绩 89 , -23 , 64 , 91 , 119 , 52 , 73
                   2、 调用自定义方法,传入成绩数组,完成功能

        代码:

import java.util.Arrays;

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        HelloWorld hello=new HelloWorld();
        int []scores=new int []{89,-2,3,64,91,119,52,73};
        hello.getTopThree(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void getTopThree(int scores[]){
        Arrays.sort(scores);
        int count=0;
        for(int i=scores.length-1;i>=0;i--){
            if(scores[i]<0||scores[i]>100){
                continue;
            }
            else{
                if(count<3){
                    System.out.println(scores[i]);
                }
                count++;
            }
        }
        
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值