需求:在数组里存人名和成绩
a1 = {“小晨”,”100”}
a2 = {“小崔”,”91”}
{{“小晨”,”100”},{“小崔”,”91”},…};
—引申出二维数组
概念:数组的元素是一个数组
int[][] a = {{1,2,4},{2,5,3},{1,2,8,4}}
访问:
a[0] = {1,2,4};
a[0] = {2,5,3};
a[2] = {1,2,8,4};
a[0][0] = 1;
a[0][1] = 2;
...
二维数组的初始化:
静态初始化:
int[][] a = {{1,2,5},{3,2,2,4},{}};
动态初始化:
1.等长式初始化
int[][] b = new int[3][4];//3X4的矩阵
2.只规定高维数组的长度
int[][] c = new int[3][];//{null,null,null},使用时要新建对象
/**
二维数组的学习
*/
import java.util.Arrays;
public class ArrayDemo01{
public static void main(String[] args){
/*二维数组的声明和初始化*/
//静态初始化:
int[][] a = {{1,2},{3,4,5},{6,7}};
for(int i=0;i<a.length;i++){
/*System.out.println(Arrays.toString(a[i]));*/
System.out.print("[");
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println("]");
}
/*动态
二维数组等长式初始化,考虑下标越界异常
*/
int[][] b = new int[6][5];
//访问输出第一个数组
System.out.println(Arrays.toString(b[0]));
b[0][0] = 1;
b[0][4] = 6;
System.out.println(Arrays.toString(b[0]));
/*
只规定了高维的长度,
{null,null,null},一个null相当于一个引用类型
不能直接进行赋值,应该想把null相应的数组对象
*/
int[][] c = new int[3][];
System.out.println(c[0]);//输出null {}
c[0] = new int[3];//将null替换为长度为3的数组对象
c[0][0] = 1;
c[0][1] = 2;
System.out.println(Arrays.toString(c[0]));
c[1] = new int[1];
c[1][0] = 4;
System.out.println(Arrays.toString(c[1]));
c[2] = new int[2];
System.out.println(Arrays.toString(c[2]));
}
}
=================================================
方法:即功能,封装了一段逻辑代码
方法的定义:
固定语法:
修饰词 返回值类型 方法名(形式参数){
逻辑代码
}
方法的位置:
在类体中,与main方法并列,类体中可以有多个方法.
修饰词:
public--公共的
protected--受保护的
private--私有的
可以不写,即默认的(default)
static--静态修饰词--可以与上述三个连用
返回值:
void--无返回值
java语言的任意一种(基本数据类型,引用类型都可以)
方法名:
命名时,尽量见名知意,驼峰命名法,首字母小写
形式参数:
用于接收调用者传入的数据,与变量声明语法相同
关键字return:(返回值是void时,return可有可无)
作用1:结束方法逻辑
作用2:如果返回值类型标记的是java语言类型的某一个
那return后必须跟一个相应类型的数据或变量;
当方法有返回值类型时,return后的数据就是方法要返回
的数据,返回给调用者
如:
reg1:
public static void sum(){
int a = 3;
int b = 5;
System.out.println(a+b);
[return;]---返回值类型处写void时,return可有可无;
}
reg2: 计算两个整数a和b的和
public static void sum(int a,int b){
int sum = a+b;
System.out.println(sum);
}
PS: 方法定义期间,就是制定逻辑流程模板。
reg3:
public static int sum(){
int a = 3;
int b = 5;
int sum = a+b;
return sum;
}
reg4:
public static int sum(int a,int b){
int sum = a + b;
return sum*3;
}
方法的调用,即使用
reg1如何使用:
main(String[] args){
sum();
}
reg2如何使用:
main(String[] args){
/*
调用者main 在使用sum(int a,int b)时
需要给形式参数赋值,赋的值叫实际参数
*/
int x = 1;
int y = 2;
sum(x,y);
}
reg3如何使用
main(String[] args){
int n = sum();
}
reg4如何使用
main(String[] args){
int m = 10;
int n = 20;
int s = sum(m,n);
}
总结:
调用方法时:
无返回值时:方法名(有参传参);
有返回值时:返回值类型 变量 = 方法名(有参传参);
import java.util.Scanner;
import java.util.Arrays;
public class MethodDemo01{
public static void main(String[] args){
length(5);
double area = area(5);
System.out.println("半径为5的圆的面积:"+area);
areaSquare();
char[] ch = randomArr();
System.out.println(Arrays.toString(ch));
guassNum((int)(Math.random()*100+1));
}
/**
计算半径为r的圆的周长
*/
public static void length(double r){
double PI = 3.1415926535;
double length = PI*r*2;
System.out.println("半径为"+r+"的圆的周长为:"+length);
}
/**
返回半径为r的圆的面积area
*/
public static double area(double r){
double PI = 3.1415926535;
return PI*r*r;
}
/**
计算宽为3,高为5的方形面积area square
*/
public static void areaSquare(){
int a = 3,b = 5;
System.out.println("宽为:"+a+",高为:"+b+"的方形面积为:"+a*b);
}
/**
返回一个字符数组,元素为随机7个小写字母
*/
public static char[] randomArr(){
char[] ch = new char[7];
for(int i=0;i<7;i++){
ch[i] = (char)(Math.random()*26+97);
}
return ch;
}
/**
定义一个猜数字的方法,被猜的数字由形参决定
猜中为止,[1,100]
*/
public static void guassNum(int x){
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入一个[1,100]的整数:");
int num = sc.nextInt();
if(num==x){
break;
}else if(num<x){
System.out.println("哈哈哈,猜小了");
}else{
System.out.println("呵呵呵,猜大了");
}
}
System.out.println("恭喜你,猜对了");
}
}
方法内:
引用数据类型和基本数据类型的区别:
引用类型的数据,称之为对象,存在内存中的某个特定区域中,即:堆
引用类型的变量也存储在内存中的一个特定区域,即:栈
引用类型的变量存储的内容,不是对象,而是对象在堆空间的位置信息
基本数据类型的数据,不叫对象.
基本数据类型的变量,存在栈里,存储的内容是基本类型的数据
eclipse(日食):
是eclipse基金会提供的一款集成开发环境(IDE)。
也是一款绿色免安装,免费的开发工具。
使用前,需要JDK开发环境。
其他开发工具如:myeclipse,ideas,netBeans,JBiulder
使用步骤:
(1)新建项目
File–>new–>java Project–name–>finish
(2)新建包(package)
命名规则
域名后缀.域名.项目名.模块名
src–>new–>package–name–finish
(3)创建源文件(.java)
选中包–>new–>class–name–finish
补全键: alt+ ?
main方法的快捷方式
main+补全键
syso+补全键
ctrl + s的保存习惯