关于java:Java-SE复习

JDK(java开发工具包)

JDK包含JRE,JRE包含JVM.
JDK的环境变量配置:
PATH: %JAVA_HOME%/bin;

变量

标识符的命名规定
**8大根本类型
byte,short,int,long,float,double,boolean,char**
Scanner工具类
`import java.util.Scanner;
Scanenr sc=new Scanner(System.in);
String name=sc.next();`
变量替换
`int a=c;
int b=a;
int c=b;`
根本类型的字面值
整数字面值是int类型
浮点数的字面值是double类型
字面值的后缀 lL fF dD
long g=100000000L;
float h=3.6F;
double s=3d;
根本类型的类型转换

//小转大---隐式转换
byte a = 10 ;
//把右侧的小类型byte类型的a,转成左侧的大类型long类型的b--能够间接转
long b = a ; 
//大转小---显式转换double->int
double m = 9.9 ;
//拿着右侧的大类型double类型的m,转成左侧的下类型int类型的n--不能够间接转
//解决方案是:强转/显示转化--加代码--(小类型)
int n = (int)m ; 
//小类型long 大类型float
//小转大  --能够间接转
long x = 10;
float y = x;
//大转小 -- 不能间接转,须要强转
float o = 9.9F ;//右侧的9.9字面值是double,非要变成float须要加后缀F
long p = (long) o ;//右侧的o是float类型是大类型.给左侧的plong类型小类型赋值--

运算规定

//1, 计算结果的数据类型,与最大类型统一
System.out.println(3/2); //int/int--> int  -- 1 
System.out.println(3d/2); //double/int --> double -- 1.5   

//2, byte,short,char三种比int小的整数,运算时会先主动转换成int
byte a = 1 ;
byte b = 2 ;
byte c = (byte) (a + b) ;
//右侧曾经变成大类型int了,给左侧的小类型,不能够间接赋值---须要强转 

//TODO 测试short或者char的景象,同byte...

//3,计算:光速运行一年的长度是多少米
//整数运算时,曾经超出了int的范畴,就会呈现溢出景象
//解决方案就是,把字面值是int类型,加后缀L转成long类型.
System.out.println( 30000000L*60*60*24*365  );

//4, java 对于小数运算时会产生不准确的景象
System.out.println(1-0.8);//0.19999999999999996

//5, 小数运算时的非凡值
System.out.println(1.5/0);//Infinity
System.out.println(0/0.0);//NaN -- not a number

自增自减++ —

int a = 1;
//符号在后,先应用再变动
System.out.println(a++);//1

int b = 1;
//符号在前,先变动再应用
System.out.println(++b);//2
System.out.println(++b+a+b++);//3+2+3

//自减
int c = 1;
//符号在后,先应用再变动
System.out.println(c--);//1

int d = 1;
//符号在前,先变动再应用
System.out.println(--d);//0

System.out.println(--d-d-d--);//-1-(-1)-(-1)

三元运算符 1 ? 2 : 3
—运算后果可能是2,也可能是3.到底是谁?由1决定.
–当1的地位判断成立时,后果就是2
–当1的地位判断不成立时,后果就是3

//1,定义两个变量
int a = new Scanner(System.in).nextInt() ;
int b = new Scanner(System.in).nextInt() ;

//2,比两个数里的大值
//判断a > b成立,就把a的值交给max保留.否则就把b的值交给max保留.
int max = a > b ? a : b ;
System.out.println("两个数里的大值是:"+max);

//TODO 三个数里的大值?
int c = new Scanner(System.in).nextInt() ;
int res = max > c  ? max  : c ;
System.out.println("三个数里的大值是:"+res);

逻辑运算符:后果是boolean值

  • !(取反,非真即假,非假即真)

       -- &(逻辑与) -- 示意并且关系
           -- 1 & 2 ,想得到最终的后果是true,要求是:1是true并且2是true
       -- &&(双与/短路与)-- 示意并且关系 --高效
           -- 1 && 2 ,当1为false时,后果早都注定了是false,2的代码就会被短路不必执行了,提高效率
       -- |(逻辑或) -- 示意或者关系
           -- 1 | 2 ,想得到最终的后果是true,要求是:1是true或者2是true
       -- ||(双或/短路或) -- 示意或者关系 --高效
           -- 1 || 2 ,当1为true时,后果早都注定了是true,2的代码就会被短路不必执行了,提高效率
    
public class Test5_Runnian {
    public static void main(String[] args) {
        //1,接管用户输出的年号
        int year = new Scanner(System.in).nextInt() ;
        
        String desc = "平年" ;//给变量设置默认值
        //2, 判断这个年是不是平年 -- 如果满足条件,就改成平年
        //if(判断条件){干活}
        //if(判断条件1 || 判断条件2){ 改成平年 }
        //if(小条件1 &&  小条件2  || 判断条件2){ 改成平年 }
        //if(能被4整除 &&  不能被100整除  || 能被400整除){ 改成平年 }
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ 
            desc = "平年" ;
        }
        System.out.println(year+"年是"+desc);
    }
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理