Xiaohu's Blog

java学习笔记

目录

[TOC]

https://www.runoob.com/java/java-enum.html

https://www.bilibili.com/video/BV12Y411m7KA?p=60&spm_id_from=pageDriver&vd_source=cbdddc9dfd2e90398cf5ad1d32c64b0c

1.文件名需要和类名(class)一致

2.String args[] 和 String[] args 都可以运行 避免歧义推荐使用 String[] args

3.所有的类名每个单词首字母大写

4.所有的方法名小写字母开头 后面每个单词首字母大写

4.所有 java 程序都是由 public static void main(String[] args)方法开始执行

5.类名 变量名 方法名 都被称为标识符

6.所有标识符都应该以字母(A-Z,a-z)$ _ 开始,首字符之后可以是字母 美元符($)下划线(_) 或 数字

7.java 修饰符,修饰类中方法和属性
访问控制修饰符 default public protected private
非访问控制修饰符 final abstract static synchronized

8.一个源文件只能有一个 public 类

9.java包对类和接口进行分类

javac 用与将 java 源文件编译成 class 字节码文件
编译成功会出现 h.class 文件

java 后跟类名不 加扩展名.class
java h.java
javac h

Scanner

需要 import java.util.Scanner的内容

import java.util.Scanner;

原始 Demo

package java.com.xiaohu.xiaohupute;
import java.util.Scanner;

public class xiaohuPute {
    private static double a,b,c,ext,sum1,sum2,delta;
    private static boolean has_roots,has_same;

    //程序入口 main 方法
    public static void main(String[] args){
        System.out.println("请输入a");
        Scanner scanner = new Scanner(System.in);
        a=scanner.nextDouble();
        System.out.println("请输入b");
        b=scanner.nextDouble();
        System.out.println("请输入c");
        c=scanner.nextDouble();
        //关闭scanner 对象
        scanner.close();

        xiaohuPute xh = new xiaohuPute(a,b,c);
        xh.judgeIsRoot();


            if(has_roots){
                xh.pute1();//sum1
                xh.pute2();//sum2
                xh.judgeIsSame();//has_same

                if(has_same==true){
                    System.out.println(sum1+"\n");
                }else{
                    System.out.println("结果 1 "+sum1+"\n"+"结果 2 "+sum2);
        
                }}
            }
            
    // 构造器  形参:a,b,c
    public xiaohuPute(double a,double b,double c){
        //判别式的结果
        delta=((b*b)-(4*a*c));

        // 开方 Math.sqrt(x) 返回参数的算数平方根ext
        ext=Math.sqrt(delta);
        
    }
    
    /*
     * 判断是否有根 返回 boolean 类型的参数
     * has_roots:true 有根
     * has_roots:false 无根
     * 并输出判断结果
     */
    public boolean judgeIsRoot(){

        if((delta>0) || (delta==0)){
            has_roots=true;
            System.out.println("有实根");
            
        }else if(delta<0){
            has_roots=false;
            System.out.println("无实根");
            
        }
        return has_roots;
    }

    /*
     * 判断根是否相同 并返回 boolean 类型的参数
     * has_same:true 相同
     * has_same:false 不相同
     * 并输出结果
     */
    public boolean judgeIsSame(){
        if(delta==0){
            has_same=true;
            System.out.println("根相同");
        }else if(delta>0){
            has_same=false;
            System.out.println("根不相同");

        }
        return has_same;
    }
    //计算 1
    public double pute1(){
        sum1=(-b+ext)/(2*a);
        return sum1;
    }
    //计算 2
    public double pute2(){
        sum2=(-b-ext)/(2*a);
        return sum2;
    }
}

java的八种数据类型

其中数值类型有6种,分别是
不参与计算:
byte
short短整型

参与计算:
int整型
long 长整型
float 单精度浮点型
double双精度浮点型

其余的:
char字符类型 ,相加输出的值是Ascall码的值的和
boolean布尔类型

查看数据类型的长度

MAX_VALUE
MIN_VALUE

具体实现
    //输出short最大长度 和最小长度
        int minvalue=Short.MIN_VALUE;
        int maxvalue=Short.MAX_VALUE;
        System.out.println(minvalue);//-32768
        System.out.println(maxvalue);//32767

2024-03-18

package com.xiaohu.test;

import java.util.Scanner;

public class hello {
    public static void main(String[] args) {
        
        /*
         * java中数值类型8种
         * 
         * 6种数值类型
         * byte类型不参与计算加减乘除,作为数据转换的工具计量单位-128,127
         * short短整型  不参与计算
         * 
         * 可以参与运算
         * int整型
         * long长整型
         * float单精度浮点
         * double双精度浮点
         * 
         * char字符类型 不可以相加   使用+后输出结果是Ascall code 相加
         * Boolean布尔类型  只有两值 true和false,条件判断
         * 
         */
        
        boolean flag=true;
        if(flag) {
            System.out.println("true");
        }else {
            System.out.println("false");
        }
        
        
        char c1='a',c2='b';
        System.out.println(c1+c2);//195
        System.out.println(c1);//a
        
        //相加输出Ascall code相加值
        int c3=30;
        System.out.println(c1+c3);//127
        
        System.out.println(c1+c2);//195
        
        
        long la=Long.MAX_VALUE;
        System.out.println(la);//9223372036854775807

        
        //输出short最大长度 和最小长度
        int minvalue=Short.MIN_VALUE;
        int maxvalue=Short.MAX_VALUE;
        System.out.println(minvalue);//-32768
        System.out.println(maxvalue);//32767
        
        //输出int的最大长度 和最小长度
        int minValue=Integer.MIN_VALUE;
        int maxValue=Integer.MAX_VALUE;
        System.out.println(minValue);
        System.out.println(maxValue);
        

        //整型
        int x=100;
        int y=20;
        int q=x-y;
        System.out.println(q);
        
        int t=x+y;
        System.out.println(t);
        
        int m=x*y;
        System.out.println(m);
        
        //单精度浮点数
        float a=100f,b=3.0f;
        float a1=100.0f;
        
        System.out.println(a/3);
        //双精度浮点数
        double c=100d,d=3d;
        System.out.println(c/d);
    }
}
package com.xiaohu.test;

public class xh_inf {
    //声明一个整型的变量
    int xiaohu_age;
    //构造器 参数 name
    public xh_inf(String name) {
        System.out.println(name);
    }
    public void setAge(int age) {
        xiaohu_age=age;
    }
    public int getAge() {
        System.out.println(xiaohu_age);
        return xiaohu_age;
    }
    
    public int maxAge(int age1,int age2) {
        return age1>age2?age1:age2;
    }
    public static void main(String[] args) {
        xh_inf xiaohu = new xh_inf("xiaohu");
        xiaohu.setAge(20);
        xiaohu.getAge();
        System.out.println(xiaohu.maxAge(1, 2));
        System.out.println(xiaohu.maxAge(3,2));

        System.out.println("实例xiaohu:"+xiaohu.xiaohu_age);
        
        
        xh_inf xiaohu1 = new xh_inf("bobo");
        xiaohu1.setAge(31);
        xiaohu1.getAge();
        System.out.println("实例xiaohu1:"+xiaohu1.xiaohu_age);
        
        
        
    }

}

源码



/*
 * import 语句 提供合理路径是编译器找到某个类
 * 载入 java_installation/java/io路径下的所有类
 * import java.io.*;
 * 
 */


public class Hello {
    public static void main(String[] args){
        System.out.println("hello world");
    }
}

待修改 判断是否一元一次方程

package com.xiaohu.test;

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
    //Step1: get input tools
    Scanner sa = new Scanner(System.in);
    
    //Step2:input three number
    System.out.println("请输入三个数");
    System.out.println("请输入第1个数");

    int a = sa.nextInt();
    System.out.println("请输入第2个数");
    
    int b = sa.nextInt();
    System.out.println("请输入第3个数");
    
    int c = sa.nextInt();
    System.out.println("你输入的第一个值a:"+a);
    System.out.println("你输入的第一个值b:"+b);
    System.out.println("你输入的第一个值c:"+c);
    
    //Step3:Judge
    //a==0     bx+c=0
    if(a==0) {
        //是一元一次方程 bx+c=0
        
        if(b==0) {
            //不是方程
            System.out.println("对不起,不能构成方程");
        }else {
            //bx+c=0  求x=-c/b
            float m=-1*c;//自动转换
            float n=b; //自动转换
            float x=m/n;
            System.out.println("方程是一元一次,跟x="+x);
        }
        
    }else {
        //一元二次方程(ax*x+bx+c=0)的判断
        
        
            //是一元二次方程
            //根的判别式
            int delta=b*b-4*a*c;
            
            //ext开方后的delta
            double ext=Math.sqrt(delta);
            
            if(delta<0) {
                System.out.println("为一元二次方程 但无实根");
                //无根
            }else if(delta==0) {
                //根相同
                
                double sum1=(-b+ext)/(2*a);
                System.out.println("一元二次方程,两个相同根x1=x2="+sum1);
                
                
            }else{
                //跟不同
                double sum1=(-b+ext)/(2*a);
                double sum2=(-b-ext)/(2*a);
                System.out.println("一元二次方程,两个不同根");
                System.out.println("x1:"+sum1);
                System.out.println("x2:"+sum2);
            }

        

    }

}

自增++i 和i++

package com.xiaohu.test;

public class test3 {
    public static void main(String[] args) {
        int a=5,b=0;
        b=a++;//先赋值再自增
        System.out.println(b);//5
        
        System.out.println(a);//6
        
        //先自增在赋值
        b=++a;//7
        System.out.println(b);//7
        
        int 
        
    }


i=1 
 i++ i++ i-- ++i --i i-- i++ +100


    s    i
1     1    2
2    2    3
3    3    2
4    3    3
5    2    2
6    2    1
7    1    2
8    114



    i=10
    
    i++ ++i (++i)*i    (i--)*(--i)  i++ +100
    
    s    i
1    s1=10    i=11
2    s2=12    i=12
3    s3=13*13=169    i=13

4    (i--):s=13 i=12    
    (--i):s=11 i=11    
    s=13*11=143 i=11

5    s=11 i=12
6    +100=10+12+169+143+11+100
    =445
    

}

https://tongyi.aliyun.com/qianwen/share?shareId=17c0415e-5b8e-4293-aa27-da1b5b654975

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »