【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
相关推荐
EterNity_TiMe_2 小时前
【论文复现】(CLIP)文本也能和图像配对
python·学习·算法·性能优化·数据分析·clip
sanguine__2 小时前
java学习-集合
学习
lxlyhwl2 小时前
【STK学习】part2-星座-目标可见性与覆盖性分析
学习
nbsaas-boot2 小时前
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
学习·chatgpt·编辑器
CV学术叫叫兽2 小时前
一站式学习:害虫识别与分类图像分割
学习·分类·数据挖掘
我们的五年2 小时前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
一棵开花的树,枝芽无限靠近你3 小时前
【PPTist】添加PPT模版
前端·学习·编辑器·html
VertexGeek3 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
二进制_博客4 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink
codebolt4 小时前
ADS学习记录
学习