Java学习笔记之---方法与数组

(一)方法

(1)什么是方法?

  1. 方法是解决一类问题的步骤的有序组合
  2. 方法包含于类或对象中
  3. 方法在程序中被创建,在其他地方被引用

(2)方法的优点

  1. 使程序变得更简短而清晰。
  2. 有利于程序维护。
  3. 可以提高程序开发的效率。
  4. 提高了代码的重用性。

(3)方法的命名规则

  1. 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson
  2. 下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack

(4)方法的定义

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

{

执行语句;

return 返回值;

}

返回值类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用void

            来表示该函数没有返回值。

函数名:仅仅是一个标识符,可以随意起名字。

形式参数:是一个变量,用于存储调用函数传递进来的实际参数。

实际参数:传递给形式参数的具体数值。

返回值:返回给调用者。

(5)函数的应用

  1. 根据学生考试成绩划分ABCD   A90-100  B80-89 C70-79 D60-69 E0-59,建议成绩使用double。将该程序使用函数定义。
public static void main(String[] args){
Scanner sc =new Scanner(System.in);
double n=sc.nextDouble();
char m=cj(n);
System.out.println(m);
}
public static char cj(double x){
char m;
if(x>=90&&x<=100){
m='A';
}else if(x>=80&&x<90){
m='B';
}else if(x>=70&&x<80){
m='C';
}else if(x>=60&&x<70){
m='D';
}else{
m='E';
}
return m;
}
(二)数组

(1)声明数组变量

dataType[] arrayRefVar; // 首选的方法

dataType arrayRefVar[]; // 效果相同,但不是首选方法

(2)创建数组(3种方法)

  1. int[] a=new int[3];

a[0]=1;

a[1]=2;

a[3]=3;

  1. int[] a=new int[]{1,2,3}
  2. int[] a={1,2,3}

(3)数组的应用

一个数组取出最大数

   public static void main(String[] args){
int[] a={5,7,2,66,32};
int i=0;
int n;
for(int j=1;j<=4;j++){
if(a[i]<a[j]){
n=a[i];
a[i]=a[j];
a[j]=n;
}
}
System.out.println(a[i]);
}
(三)二维数组

String str[][] = new String[3][4];

 //5.    定义一个函数计算二维数组中的元素的累加和
public static void main(String[] args){
int[][] a=new int[][]{{9,8,6},{7,5,6}};
int sum=0;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
sum=sum+a[i][j];
}
}
System.out.println(sum);
}
(四)排序

(1)直接排序

以一个角标的元素和其他元素进行比较。

在内循环第一次结束,最值出现的头角标位置上。

   int[] a = {5, 22, 25, 15, 4};
int s = 0;
for (int i = 0; i < 5; i++) {
for (int j = i + 1; j < 5; j++) {
if (a[i] > a[j]) {
s = a[i];
a[i] = a[j];
a[j] = s;
}
}
}
for(int n:a){
System.out.println(n);
}

(2)冒泡排序

内循环结束一次,最值出现在尾角标位置

相邻两个元素进行比较。如果满足条件就进行位置置换

 int[] a = {5, 22, 25, 15, 4};
int s = 0;
for(int i=0;i<4;i++){
for(int j=0;j<4-i;j++){
if(a[j]>a[j+1]){
s = a[j];
a[j] = a[j+1];
a[j+1] = s;
}
} }
for(int n:a ){
System.out.println(n);
}

Java学习笔记之---方法和数组的更多相关文章

  1. 0019 Java学习笔记-面向对象-方法

    方法属于谁 方法要么属于类,要么属于对象 static修饰的方法属于类 没有static修饰的方法属于对象 方法只能定义在类里面,不能独立定义 不能独立的执行方法,要么通过类调用,要么通过方法调用 一 ...

  2. JavaSE学习笔记04方法、数组

    1.方法 java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:一个方法只完成1个功能,这样 ...

  3. Java学习笔记(五)——数组

    一.数组使用方法 1. 声明数组 语法: 数据类型[ ] 数组名: 或者   数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名 2. 分配空间 简单地说,就是指定数组中最多可存储多少个元素 ...

  4. 【Java学习笔记】集合转数组---toArray()

    package p2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ...

  5. Java学习笔记之方法重载,动态方法调度和抽象类

    一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...

  6. 【原】Java学习笔记008 - 方法(函数)

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 方法/函数 Met ...

  7. java学习笔记5(方法)

    方法: 1.如何创建方法 修饰符   返回值类型  方法名(参数){被封装的代码段} 2.方法的定义和使用的注意事项: a:方法不能定义在另一个方法里面: b:方法 名字和方法的参数列表,定义和调用时 ...

  8. java学习笔记(2)——数组

    1.创建数组: int[] a = new int[n];//数组长度n不要求为常数,一旦创建了数组,其大小不可改变 int[] a = {0,1,2,3};//也可这样定义 获得数组元素的个数:ar ...

  9. Java学习笔记之方法

     前言:如果把所有代码都写到main方法中,后果是什么?    1,结构混乱 不清晰    2,不能重用 方法:规则:方法写在类中,不能写在其它方法中.方法不能嵌套方法 如何定义方法: 访问修饰符 返 ...

随机推荐

  1. HALCON 语句的分类

    绿色:注释 褐色:控制和开发算子 蓝色:图像获取和处理算子 浅蓝色:外部函数

  2. MVC EF Code First

    1 在Models里面创建类,用[Key]特性指定主键: 2 在Model里面增加导航属性: 3 在web.config里面增加连接字符串 4 创建继承于DbContext的类 5 创建Control ...

  3. linux命令行模式下实现代理上网 专题

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

  4. HLS(HTTP Live Streaming)学习和探讨

    Introduction HTTP Live Streaming lets you send audio and video over HTTP from an ordinary web server ...

  5. 零元学Expression Blend 4 - Chapter 30 8个Expression Blend4的快捷

    原文:零元学Expression Blend 4 - Chapter 30 8个Expression Blend4的快捷 我针对工作区跟视窗的快捷键整理了八个Expression Blend4的快捷, ...

  6. HDFS的几点改进

    HDFS(Hadoop Distributed File System)是一个运行在商用机器上面的分布式文件系统,其设计思想来自于google著名的Google File System论文. HDFS ...

  7. scons编译mongodb(vs2008版本)遇到的问题总结

    OS:win7 64 boost:1.49 mongodb:2.4.6(推荐64位版本,当然如果你系统是32位的,只能使用32的版本了) IDE:vs2008(2010的同学请跳过吧,因为官网提供的就 ...

  8. 高效的DDoS攻击探测与分析工具 – FastNetMon

    快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中.   <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...

  9. React Native v0.4 发布,用 React 编写移动应用

    React Native v0.4 发布,自从 React Native 开源以来,包括超过 12.5k stars,1000 commits,500 issues,380 pull requests ...

  10. QT中Dialog的使用(使用QStackedWidget维护页面切换)

    先看看效果图: pages.h #ifndef PAGES_H #define PAGES_H #include <QWidget> class ConfigurationPage : p ...