前言
不知不觉学习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("一个标准类的写法") ;
}
}
总结
第二周学习完了,感觉自己学习比以前能好很多,至少知道要干啥,也希望以后的学习越来越顺利。