Java初学——第二周

前言

不知不觉学习Java已经两周了,感觉时间越来越紧张,代码也越来越复杂,再也不是刚开始的时候了,所以我应该变得紧张起来,为接下来的学习做好准备。接下来我就这周的学习做一个总结。

for循环嵌套

基本格式:

for(初始化语句;条件表达式;步长语句){
	//循环体语句
	for(初始化语句;条件表达式;步长语句){
		循环体语句;
	}
}

控制台输出九九乘法表:

class ForFor{
	public static void main(String[] args){
		for(int x = 0 ; x < 9 ; x ++){
			for(int y = 0 ; y < 9 ; y++){
				System.out.print("*");
			}
			System.out.println() ;
		}
		for(int x = 1 ; x <=9; x ++){ //9行
			for(int y = 1 ; y <=x ; y++){ //列数的变化
				System.out.print(y+"*"+x+"="+(y*x)+"\t") ;
			}
			System.out.println() ;
		}
	}
}

跳转控制语句:

break
 break :表示结束,中断的意思
 break:单独使用,没有意义(存在问题),只能switch语句或者循环语句中使用!
continue
 continue:继续 (结束当前循环,立即进入下一次循环)
 单独使用:没有意义, continue 在 loop 外部(循环中使用)
return
return :一般很少单独使用,一般结束方法使用的
return是结合方法去使用的,如果一个方法中有return,具体返回结果;

方法

  方法:就是使用{}包起来的内容,给{}独立的代码块起一个名字,以便于复用
class Function{
	
	public static void main(String[] args){
	    //实际参数
		int a = 40 ;
		int b = 30 ;
		//赋值调用(推荐方式)
		int result = getSum(a,b); 
		System.out.println("两个数据之和是:"+result) ;		
	}
	public static int getSum(int x,int y){//形式参数列表
		//求x,y的和
		int result = x + y ;
		return result ;
	}	
}

数组

数组的高级排序—冒泡排序

  冒泡排序的思想
  两两比较,将较大的值往后放,第一次比较完毕,最大值出现在最大索引处,依次这样比较...
	规律:
			两两比较,将较大的值往后放
			总共比较的次数:数组长度-1次
class BubbleArray{
	public static void main(String[] args){
	  // 定义一个数组,静态初始化
		int arr[]={89,12,34,6,78,34};
		printArray(arr);
		bubble(arr);
		printArray(arr);
	}
	//冒泡排序
	public static void bubble(int[] arr){
		for(int x=0;x<arr.length-1;x++){
			for(int y=0;y<arr.length-1-x;y++){
				if(arr[y]>arr[y+1]){
					int temp=arr[y];
					arr[y]=arr[y+1];
					arr[y+1]=temp;
				}
			}
		}
	}
	//遍历
	public static void printArray(int[] arr){
		System.out.print("{");
		for(int x=0;x<arr.length;x++){
			if(x==arr.length-1){
				System.out.println(arr[x]+"}");
			}else{
				System.out.print(arr[x]+", ");
			}
		}
	}
}

面向对象

面向对象的思想特点:

 1)更符合生活中的思想行为习惯
 2)让复杂的事情简单化
 3)让我们成从执行者变成了一个指挥者

面向对象的三大特征:

封装,继承,多态
class Student{
	//成员变量:类中,方法外
	int id;//学号
	String name;//姓名
	int age;//年龄
	String gender;//性别
	String hobby;//爱好
	//成员方法
	//玩游戏
	public void playGame(){
		System.out.println("玩王者...");
	}
	//学习功能
	public void study(){
		System.out.println("学习创建对象");
	}
	//吃饭
	public void eat(String name){
		System.out.println("在吃"+name);
	}
}
//定义测试类
class StudentTest{
	public static void main(String[] args){
		Student student=new Student();
		//访问成员变量
		student.id=1010;
		student.name="xxx";
		student.age=23;
		student.gender="男";
		student.hobby="看小说";
		//访问成员方法
		System.out.println(student.id+"---"+student.name+"----"+student.age+"---"+student.gender+"--"+student.hobby) ;
		student.playGame();
		student.study();
		student.eat("火锅");
	}
}
封装和构造方法
将类中成员变量私有化(private),对外提供公共的访问方法(权限足够大)
私有化的成员变量:只能在本类中,外界不能访问的
this关键字
this.成员变量;  访问本类的成员变量
this.成员方法() 访问本类的成员方法
this() 访问无参构造方法    访问本类的无参构造方法
this(xxx) :访问带参构造方法   访问本类的有参构造方法
构造方法
 什么是构造方法:
   1)方法名和类名相同
   2)没有具体的返回值类型
   3)并且连void都没有
   权限修饰符 + 方法名就是类名(){
    }

 构造方法主要作用:就是给该对象中的数据进行初始化
class Student{
  //成员变量私有化
  private String name ;
  private int age; 
 //无参构造
 public Student (){
  
 }
 //有参构造
 public Student(String name,int age){
  this name =name ;
  this age =age;
 }
 public String getName(){
  return name;
 }
 public int getAge(){
  return age ;
 }
}

构造方法中的注意事项:

 1)在一个类中,我们不写无参构造方法,系统会默认的提供一个无参构造方法,

  2)如果我们提供一个有参构造方法,系统不会在提供无参了,如果使用无参构造方法创建对象,就会报错
       (永远建议给出无参构造方法)
class Student{
 	//成员变量私有化
 	private String name ; //姓名
 	private int age; //年龄
 
	 //提供公共的访问方法赋值 setXXX/getXXX方法 XXX对应的属性名称
	public void setName(String n){ //传递一个具体的"字符串"
  	 	this name =name ;
	 }
	 //给年龄赋值
	public void setAge(int a){ //传递一个具体的 年龄值
  		this age =age  ; 
 	}
	public String getName(){
  		return name ;
	 }
	public int getAge(){
  		return age ;
 	}
 }
java标准类的写法
1.私有化成员变量
2.为私有化的成员变量提供set/get方法
3.提供有参数和无参数的构造方法
4.还需要写一个功能性的方法
class Student{
 //属性私有化
 private String name;
 private int age;
 private String gender;
 //为私有化的成员变量提供setxxx/getxxx方法
 public void setName(String name){
  this.name=name;
 }
 public void setAge(int age){
  this.age=age;
 }
 public void setGender(String gender){
  this.gender=gender ;
 }
 public String getName(){
  return name;
 }
 public int getAge(){
  return age;
 }
 public String getGender(){
  return gender;
 }
 //无参构造方法
 public Student(){
  }
 //全参构造方法
 public Student(String name,int age,String gender){
  this.name=name;
  this.age=age;
  this.gender=gender;
 }
 //成员功能性方法
  public void study(){
  System.out.println("一个标准类的写法") ;
 }
}

总结

第二周学习完了,感觉自己学习比以前能好很多,至少知道要干啥,也希望以后的学习越来越顺利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值