文章目录
一维数组
1.冒泡(从小到大排序)
思路:外循环表示比较几轮,内循环表示一轮比较的次数
一轮比较过后,至少最大值可在最右边
public class 冒泡{
public static void main(String[]args)
{
int[] arr={12,57,10,25,38,80,11};
for (int i=1;i<arr.length;i++)
{
for(int j=1;j<arr.length;j++)
{
if(arr[j-1]>arr[j])
{ int t=arr[j-1] ;
arr[j-1]=arr[j];
arr[j]=t;
}
}
}
for(int m=0;m<arr.length;m++)
{
System.out.print(arr[m]+" ");
}
System.out.println();
}
}
public class 一维数组交换数据
{
public static void main(String[]args)
{
int[]arr={1,2,3,4,5};//将该数组数据变为5,4,3,2,1
for(int i=0,j=arr.length-1;i<j;i++,j--)
{
int x=arr[i];
arr[i]=arr[j];
arr[j]=x;
}
for(int m=0;m<arr.length;m++)
System.out.print(arr[m]+" ");
System.out.println();
}
}
二维数组
1.静态初始化
静态初始化:int [][] arr={{1,2,3},{4,5,6,7}};
ps:这种写法不易观看,可另写作:
int[][] arr={{1,2,3},
{4,5,6,7}
}
注意:最后一个(这里是第二个)一维数组后不需要再加 “,”
2.动态初始化
动态初始化:eg:int [][] arr=new int[2][3]
3.二维数组遍历思想
外循环得到一维数组,内循环得到一维数组中的元素。
public class 二维数组遍历
{
public static void main(String[]args)
{
int[][] arr={{1,2,3},{4,5,6,7}};
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[i].length;j++)
System.out.print(arr[i][j]+" ");
System.out.println();
}
}
}
方法(程序中最小的执行单元)
1.最简单的方法定义和调用
1)格式
public static void 方法名(){…}
2) 调用
方法名()
2.带参数的方法定义和调用
1)格式
public static void 方法名(参1,参2,…) {…}
2)代码范例
public class ийие{
public static void main (String[]args){
sum(20,30);
}
public static void sum (int x,int y){
int sum=x+y;
System.out.println("sum="+sum);
}
}
3.带返回值方法的三种调用
这里面return的作用是将 result 的值返回给调用处的getSum。
4.判断方法是否重载
同类同名不同参
(不同参指的是形参的类型,顺序,个数)
5.引用数据类型
引用数据类型:变量中存储的是地址值,并不是真实数据
!!!变量只在所属方法里面有效
类和对象
1.成员变量和成员方法
成员变量:代表属性,一般是名词
成员方法:代表行为,一般是动词
2.得到类的对象及使用对象
1)得到类的对象
类名 对象名=new.类名()
eg:Phone p=new Phone ()
2)得到使用对象
对象名 成员变量=" "
对象名 成员方法(…)
eg:假设类名为phone
p.brand="华为";
p.call();
3)范例
3.定义类的补充注意事项
1)成员变量完整的定义格式
修饰符 数据类型 变量名称=初始化值
ps:一般无需初始化值,存在默认值。
2)用来描述一类事物的类叫javabean 类,在javabean 类中是不写main 方法的
4.封装
1)封装的含义
对象代表什么,就得封装对应的数据,并提供数据对应的行为
eg:人画圆 针对这个需求进行面向对象的设计
因为画图这个行为需要知道圆的半径等各种属性,而画图不需要知道人的属性(比如是谁画的)
所以要封装谁就看需要谁的属性
5.private 关键字
是一个权限修饰
被private修饰的成员只能在本类中访问
1)set 和 get 方法
对每一个私有化的成员变量,都要提供set 和get方法
set :给成员变量赋值
get:对外提供成员变量的值
2) set 和get的使用
//javabean类
public class dog
{
private String name;
private int age;
private float weight;
private String gender;
public void setName(String n){//给成员变量进行赋值
name=n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void setWeight(float w){
weight=w;
}
public float getWeight(){
return weight;
}
public void setGender(String g){
gender=g;
}
public String getGender(){
return gender;
}
public void eat(){
System.out.println("吃饭");
}
}
//测试类
public class dogtest
{ public static void main(String[]args)
{
dog m=new dog();
m.setName("笨笨");
m.setAge(2);
m.setWeight(7.6f);
m.setGender("公");
System.out.println(m.getName());
System.out.println(m.getAge());
System.out.println(m.getWeight());
System.out.println(m.getGender());
m.eat();
}
}
6.成员变量和局部变量
成员变量:方法外面,类的里面。
局部变量:方法里面。
7.构造方法
1)作用
在创建对象的时候,给成员变量进行初始化
2) 格式
public class Student
{
修饰符 类名 (参数){方法体;}
}
3)特点
- 方法名与类名相同,类名与文档名相同,大小写也要一致
- 没有返回值类型,连void也没有,
返回值方法的调用需要写数据类型,其他调用需要写void,不用写数据类型,static所有调用中都不写 - 没有具体的返回值(不能由return带回结果数据)
4)this
eg:this.name=name
name :表示局部变量,表示测试类中调用方法传输过来的数据
this.name:表示成员位置的name
5)代码范例
public class Student
{
private String name;
private int age;
public Student (String name,int age)//没有返回值类型,连void也没有
{
this.name=name;
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public void study()
{
System.out.println("学习");
}
}
public class constructorTest{
public static void main(String[]args)
{
Student s=new Student("张三",18);//得到对象,带参构造
System.out.println(s.getName());//第三种调用方法:输出调用
System.out.println(s.getAge());
s.study();//调用方法
}
}
第二周总结
来到未来已经第二周了,从一开始的几种循环已经上升了难度,现在已经学习到构造方法这一章,刚开始学习到方法和类与对象时一头雾水,每个字都能看懂,但连起来就看不懂了,当时也是很烦躁,但到后来琢磨了几天之后也算是有了点思路,在调用方法时,我总是把构造方法,带返回值方法的调用的格式弄混,以及将调用成员变量和调用成员方法的格式弄错,因此我就在博客中以及笔记本上分别写了一遍,这周学的东西对于我来说可能的确有点晦涩难懂,但总归学到了点东西.
下星期要把之前学的东西回顾一下,争取掌握熟练,并把当周的知识理解并会用。
分享生活之团建