【JAVA学习一:基础语法】

记录学习过程和代码编写,小白纯属记录。

目录

一、运算符

二、数组

三、面向对象


一、运算符

赋值运算符

java 复制代码
public class Demo01 {  

    public static void main(String[] args){ 
           System.out.println(1+1);       
            System.out.println(1-1);       
             System.out.println(5*6);       
              System.out.println(9/6);//整数!!
        System.out.println(9%1);       
         System.out.println(9%6);
        //进阶赋值运算符

        int num=100;        
        int a=3;        
        a=a+3;        
        System.out.println("\n"+a);        
        int b=3;        
        b%=3;        
        System.out.println(b);

    }
    
  


public class Demo01 {

    public static void main(String[] args) {

        int a=1;
        int b=++a;//a++,先赋值后+,++a,先+后赋值。
        System.out.println(b);
        System.out.println(a);
    }
}

条件运算符和逻辑

java 复制代码
ackage day02;
public class Demo02{
    public static void main(String[] args){
        int a=1;
        int b=2;
        System.out.println(a==3&&a==1);//false
        System.out.println(!(a==3&&a==1));//true
    }
}
|  ||  &&  &   > >= ==  <  =<  !
&&和&的区别:&&左边判断false,右边不进行判断;左边false,右边继续判断,但是逻辑上都是真真真,有假则假;

三元运算符

java 复制代码
//三元运算!//语法:条件表达式1?条件表达式2?....,返回true使用1,返回false使用2.package day02;

import java.sql.SQLSyntaxErrorException;

public class Demo02 {
    public static void main(String[] args){
        int a= 5<6?3:4;//true:3        System.out.println(a);
        System.out.println(a=5>6?3:4);//false 4    }
}

类型转换

java 复制代码
//转换规则:从小类型转换为大类型!!
public class Demo02 {
    public static void main(String[] args){
       /* int a= 5<6?3:4;//true:3        System.out.println(a);        System.out.println(a=5>6?3:4);//false 4*/        
        int b=100;
        double a=b;
        long c=b;
        System.out.println(a); //100.0
        System.out.println(c);//100   
    }
}



package day02;
public class Demo03 {
    public static void main(String[] args){
        int a=10;
        String level="";
        if(100>=a&&a>=90){
            level="A";
        } else if (90>a&&a>=80) {
           level="B";
        } else if (80>a&&a>=70) {
            level="C";
        }else if(70>a&&a>=60){
            level="D";
        }else {
            level="不合格";
        }
    String Message = String.format("你的成绩是:%s等级,%d分",level,a);
    //format: 格式化字符串,它包含了格式说明符(例如:%d, %f, %s等)和普通文本,用于指定最终输出字符串的格式
        System.out.println(Message);
    }
}
你的成绩是:不合格等级,10分

二、数组

java 复制代码
package day02;
public class Demo04 {
    public static void main(String[] args){
        int[] arr=new int[3];//动态申明数组:数组名arr,数组类型int,数组内含3个,初始值为0        System.out.println(arr[0]);
             //数组byte short long int double float  默认值都是0
             //boolean 默认false
             //char默认空格
             char [] Char=new char[3];
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}
0
0
0

猜字游戏

java 复制代码
package day02;
import java.util.Random;
import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args){
        Random hh=new Random();
        int num = hh.nextInt(100);//设置类型和最大值100
        //System.out.println(num);        
        while (true) {
            System.out.println("输入数字:");
            Scanner kk = new Scanner(System.in);
            int num1=kk.nextInt();
            //System.out.println(num1);            
            if(num1>num){
                System.out.println("猜大了!");
            } else if (num1<num) {
                System.out.println("猜小了");
            }else {
                System.out.println("恭喜你猜对了!");
                break;
            }

        }
    }
}

三、面向对象

面向对象基础

java 复制代码
package day03;
public class Demo01 {
    public static  void getName(String Name){
       String  name = Name;
       System.out.println(name);
    }
    public static void getAge(int Age){
        int age=Age;
        System.out.println(age);
    }
    public static void getEmailAddress(String address){
        String email_address=address;
        System.out.println(email_address);
    }

      }
///

public String email_address;
    public int age;
    public static void main(String[] args){
        Demo01 peson = new Demo01();
        peson.getName("HHH");
        peson.getAge(100);
        peson.getEmailAddress("重庆市");
    }

}
HHH
100
重庆市

jvm三区

构造函数

java 复制代码
package day04;
//构造函数格式:方法名和类名相同!!构造方法没有返回值,void都没有!!
//写了有参构造函数,就一定要写无参构造函数!!!
public class student {
    private String name;
    private int age;
    public student(){ //构造函数的基本格式:方法名和类名相同!!
        System.out.println("这是构造方法!!");
    }
    public static void main(String[] args){
        student student1 = new student();//new一个对象之后就会调用构造方法!!!            
        }

}
这是构造方法!!

有参构造和无参构造

java 复制代码
package day04;
//构造函数格式:方法名和类名相同!!构造方法没有返回值,void都没有!!
public class student {
    private String name;
    private int age;
    public student(){       //无参构造方法       
    System.out.println("这是构造方法!!");
   }
    public student(String name,int age){   //有参构造方法        
        this.name=name;
        this.age = age;
        String message = String.format("name:%s,age:%d",name,age);
        System.out.println(message);
    }
    public static void main(String[] args){
        student student1 = new student("hh",10);
        //new一个对象之后就会调用构造方法!!!    
        }

}
name:hh,age:10

继承

继承提高了代码的复用性,提高了代码的维护性,让类产生了关系,是多态的前提;

继承的弊端:让类产生了关系,继承的弊端,类的耦合性增强了。

继承的特性:Java的继承只能是单继承,但是可以迭代继承。

继承中的属性:使用就近原则,如果要同时访问局部变量和全局变量,可以使用this访问类中的全局变量,使用super访问父类中的变量。

java 复制代码
class testfather{
    int num = 10;
}
public class test extends testfather {
    int num = 20;
    public  void hh(){
        int num = 100;
        System.out.println(num);   //注意this和super不能出现在main方法中!!!
        System.out.println(this.num);
        System.out.println(super.num);
    }
    public static void main(String[] args){
        test t1 = new test();
        t1.hh();
    }
}
100
20
10

父类

java 复制代码
package com.zsx.person;

public class persoaldemo {
    
    private String name;
    private int age;
    private String sex;
    private String number;

    //construct
    public persoaldemo(){
        //System.out.println("输出结果如下");
    }
//set
    public void setName(String newName){
        name = newName;
    }

    public void setAge(int newAge){
        age=newAge;
    }

    public void setSex(String newSex){
        sex=newSex;
    }

    public void setNumber(String newNumber){
        number=newNumber;
    }

    //get

    public String getName(){
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getSex() {
        return sex;
    }

    public String getNumber() {
        return number;
    }

    public  void PrintInfo(String n, int a,String s, String N){
        persoaldemo per1 = new persoaldemo();
        //set
        per1.setAge(a);
        per1.setName(n);
        per1.setNumber(N);
        per1.setSex(s);
        //print
        System.out.println("name:"+ per1.getName());
        System.out.println("age:"+per1.getAge());
        System.out.println("sex:"+per1.getSex());
        System.out.println("number:"+per1.getNumber());

    }

    public static void main(String[] args){

   persoaldemo p2 = new persoaldemo();
   p2.PrintInfo("李四",10,"男性","3");
    }
    
}
name:李四
age:10
sex:男性
number:3

子类

java 复制代码
package com.zsx.person;

public class studentdemo extends persoaldemo {
    
    private String Course;
    private int CourseRange;

    public void setCourse(String newCourse){
        Course=newCourse;
    }
    public void setCourseRange(int newCourseRange){
        CourseRange=newCourseRange;
    }

    public String getCourse(){
        return Course;
    }
    public int getCourseRange(){
        return CourseRange;
    }

    public static void main(String[] args){
            studentdemo s1 = new studentdemo();
            s1.setCourse("语文");
            s1.setCourseRange(10);
            s1.PrintInfo("李四",10,"男性","1");
            String message = String.format("科目:%s,排名:%d",s1.getCourse(),s1.getCourseRange());
            System.out.println(message);
    }

}
name:李四
age:10
sex:男性
number:1
科目:语文,排名:10
相关推荐
南宫生8 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__8 小时前
Web APIs学习 (操作DOM BOM)
学习
数据的世界0110 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐10 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO13 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A13 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒13 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash314 小时前
提升专业素养的实用指南
学习·职场和发展
1 9 J14 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
6.9416 小时前
Scala——身份证号码查询籍贯
学习·scala