zoukankan      html  css  js  c++  java
  • Java 基础类之二

    Java 属性与局部变量的相同点与不同点

    package com.chenxi.java;
    /*
    类中属性的使用
    属性(成员变量)vs 局部变量
    1.相同点
    1.1定义变量的格式:数据类型 变量名= 变量值
    1.2先声明后使用
    1.3都有其对应作用域
    2.不同点
    2.1在类中声明的位置的不同
    属性:直接定义在类的一对{}里
    局部变量:声明在方法内、方法形参、代码块内、构造器形参构造器内部的
    2.2关于权限修饰符的不同
    属性:可以在声明属性时,指明其权限修饰符,使用权限修饰符;
    常用的权限修饰符:private、public、缺省、protected;
    局部变量不可以使用权限修饰符的
    
    2.3 默认初始化值的情况
    属性:类的属性,根据其类型,都有默认初始化值
    整型:(byte、short、int、long):0
    浮点型:(float、double):0.0
    字符型:(char):0(或者'u0000')
    布尔型:(boolean):false
    引用数据类型:(类、数组、接口)null
    局部变量:没有默认初始化值
    意味着,在调用之前一定要赋值
    特别:形参在调用时我们赋值
    2.4加载内存空间不同
    属性:加载到堆空间中(非static)
    局部变量:加载到栈中
    
     */
    
    public class usertest {
        public static void main(String[] arges){
            Useri u1 = new Useri();
            System.out.println(u1.yy);
            System.out.println(u1.age);
            u1.talk("汉语");
            u1.eat();
    
        }
    }
    class  Useri{
        //属性(成员变量)
        String yy;
        public int age;
        boolean imMale;
        public void talk(String language){//language:形参,也是局部变量
           System.out.println("我们使用"+language+"进行交流");
        }
        public void eat(){
            String food="烙饼";//局部变量
            System.out.println("北方人喜欢吃"+food);
        }
    
    }
    

      测试

    null
    0
    我们使用汉语进行交流
    北方人喜欢吃烙饼
    

      方法的使用

    package com.chenxi.java;
    /*
    类中方法的声明和使用
    方法:描述类应该具有的功能
    1.声明
     public void ead(){}//void没有返回值的
     public void sleep(int hour){}//形参
     public String getName(){}//String 有返回值的
     public String getNation(String nation){}//形参
    2.方法的声明:权限修饰符 返回值类型 方法名(形参列表){
        方法体
    }
    注意 static、final、abstract 来修饰的方法
    3.说明
    3.1权限修饰符
    Java规定的四种权限修饰符:private、public、缺省、protected
    3.2返回值类型:有返回值vs没有返回值
    3.2.1如果方法有返回值,则必须在方法声明时指定返回值类型。同时方法使用ruturn关键字来返回指定类型的变量或常量:
    “return数据”。
    如果没有返回值,则声明时使用viod来表示。通常,没有返回值的方法里通常不使用return了。
    如果使用的话,只能“return”来表示结束的意思
    3.2.2定义方法时是否需要返回值
    要求返回
    凭经验
    3.3方法名:属于标识符,遵循标识符的命名规则和规范,“见名知意”
    形参列表:方法可以声明0个、1个、或者多个形参。
    格式:数据类型1形参1,数据类型2形参2,
    定义方法时,该不该定义形参。
    1题目要求
    2凭经验具体问题具体分析
    方法体:方法功能的具体体现 return 关键字的 */ public class Customertest { public static void main(String[] age){ Customer cu1=new Customer(); cu1.ead(); } } class Customer{ String name; int age; boolean ismale; public void ead(){ //private void ead(){//私有别墅 System.out.println("客户吃饭"); } public void sleep(int hour){ System.out.println("休息了"+hour+"ge 小时"); } public String getName(){ return name; } public String getNation(String nation){ String info = "我的国家是" + nation; return info; } }

      测试

    客户吃饭
    

      类方法创建规范

    package com.chenxi.java;
    /*
    类中方法的声明和使用
    方法:描述类应该具有的功能
    1.声明
     public void ead(){}//void没有返回值的
     public void sleep(int hour){}//形参
     public String getName(){}//String 有返回值的
     public String getNation(String nation){}//形参
    2.方法的声明:权限修饰符 返回值类型 方法名(形参列表){
        方法体
    }
    注意 static、final、abstract 来修饰的方法
    3.说明
    3.1权限修饰符
    Java规定的四种权限修饰符:private、public、缺省、protected
    3.2返回值类型:有返回值vs没有返回值
    3.2.1如果方法有返回值,则必须在方法声明时指定返回值类型。同时方法使用ruturn关键字来返回指定类型的变量或常量:
    “return数据”。
    如果没有返回值,则声明时使用viod来表示。通常,没有返回值的方法里通常不使用return了。
    如果使用的话,只能“return”来表示结束的意思
    3.2.2定义方法时是否需要返回值
    要求返回
    凭经验
    3.3方法名:属于标识符,遵循标识符的命名规则和规范,“见名知意”
    3.4形参列表:方法可以声明0个、1个、或者多个形参。
    3.4.1格式:数据类型1形参1,数据类型2形参2,...
    3.4.2我们定义方法时,该不该定义形参
    3.4.2.1题目要求
    3.4.2.2凭经验,具体问题具体分析
    3.5方法体:方法的具体实现
    4.return 关键字
     4.1使用范围:使用在方法体
     4.2作用:
         结束方法
         针对返回值类型的方法,使用“return数据”方法返回所有的数据。
     4.3注意点:return关键字后面不能声明执行语句
    5.方法的使用中,可以调用当前类的属性或方法
            特殊的:方法A中有调用了方法A:递归方法
      方法中不可以定义方法
    
    
    
     */
    public class Customertest {
        public static void main(String[] age){
            Customer cu1=new Customer();
            cu1.ead();
            cu1.sleep(10);
    
        }
    }
    class Customer{
        String name;
        int age;
        boolean ismale;
        public void ead(){
        //private  void ead(){//私有别墅
            System.out.println("客户吃饭");
            return;
        }
        public void sleep(int hour){
            System.out.println("休息了"+hour+"ge 小时");
            //ead();
            //sleep(10);//栈溢出
        }
        public String getName(){
            return name;
        }
        public String getNation(String nation){
            String info = "我的国家是" + nation;
            return info;
        }
    
    }
    

      测试题

    类的声明

    package com.chenxi;
    
    public class bean {
        String name;
        int age;
        /**
         * sex : 1表示男性
         * sex: 2表示女性
         */
        int sex;
        public void study(){
            System.out.println("studying");
        }
        public void showAge(){
            System.out.println("age"+age);
        }
        public int addAge(int i){
            age += i;
            return age;
        }
    
    }
    
    //class Exer3test{
    //    public void method(){
    //        for (int i=0;i<10;i++){
    //            for (int j=0;j<8;j++){
    //                System.out.print("* ");
    //            }
    //            System.out.println();
    //        }
    //    }
    //}
    //class Exer3test{
    //    public int method(){
    //        for (int i = 0;i<10;i++){
    //            for (int j =0; j<8;j++){
    //                System.out.print("* ");
    //            }
    //            System.out.println();
    //        }
    //        return 10 * 8;
    //    }
    //}
    class Exer3test{
        public int method(int m,int n){
            for (int i=0;i<m;i++){
                for (int j=0;j<n;j++){
                    System.out.print("* ");
                }
                System.out.println();
            }
            return m * n;
        }
    }
    

      类的调用

    package com.chenxi;
    
    public class beantest {
        public static void main(String[] args){
            //bean b1 = new bean();
            //b1.name="tom";
            //b1.age=18;
            //b1.sex=1;
            //b1.study();
    
            //b1.showAge();
            //int newage=b1.addAge(3);//
            //System.out.println(newage);
            //System.out.println(b1.age);
            Exer3test E1= new Exer3test();
            //E1.method(2,10);
            int as = E1.method(2,10);
            //System.out.println("面积为"+as+"平方");
            System.out.println(as);
        }
    }
    
    
    
    测试
    * * * * * * * * * * 
    * * * * * * * * * * 
    20
    

      test

    package com.chenxi;
    
    public class StudentTest {
        public static void main(String[] ages){
          //  Student s1 =new Student();
            Student[] stus = new Student[20];
            for (int i =0;i<stus.length;i++){
                //给数组对象赋值
                stus[i] = new Student();
                //给student对象的属性赋值
                stus[i].number=(i+1);
                //年级:[1-6]
                stus[i].state =(int)(Math.random() * (6-1+1)+1);
                //成绩:[0,100]
                stus[i].score =(int)(Math.random()*(100-0+1));
            }
    
            //打印三年级学生成绩
    //        for (int i =0 ; i<stus.length;i++){
    //            if (stus[i].state  ==  3){
    //                System.out.println(stus[i].number + ","+stus[i].state+"," + stus[i].number);
    //
    //            }
    //        }
            //使用冒泡排序
            for (int i =0;i < stus.length-1;i++ ){
                for (int j = 0; j< stus.length-1-i; j++){
                    //如果需要换序,交换的是数组的元素;Students对象!
                    if (stus[j].score > stus[j+1].score){
                        Student temp = stus[j];
                        stus[j] = stus[j+1];
                        stus[j+1] = temp;
                    }
                }
    
    
            }
            //遍历数组
            for(int i = 0 ; i < stus.length;i++){
                System.out.println(stus[i].number + ","+stus[i].state+"," + stus[i].score);
            }
        }
    }
    class Student{
        int number;//学号
        int state;//年龄
        int score;//成绩
    
    
    }
    

      测试

    10,5,4
    2,1,6
    11,4,11
    14,4,13
    8,3,14
    18,6,14
    20,4,24
    16,2,28
    6,3,32
    17,1,38
    12,4,40
    15,5,47
    5,2,54
    13,2,58
    3,6,71
    9,6,75
    4,6,83
    19,1,87
    1,3,92
    7,2,92
    
    Process finished with exit code 0
    

      

  • 相关阅读:
    C++ SOCKET 基础编程
    Linux 基础
    Python 基础
    H5禁止微信内置浏览器调整字体大小
    css中 出现height为100%失效的原因及解决方案
    CSS3 clip-path 用法介绍
    Web的26项基本概念和技术
    Web前端年后跳槽面试复习指南
    基于 HTML5 Canvas 的交互式地铁线路图
    常用长度单位PX/EM/PT/百分比转换公式与对照表
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/14160931.html
Copyright © 2011-2022 走看看