JAVA入门02

本文详细介绍了Java中的变量概念、数据类型(包括基本数据类型如整型、浮点型和字符型,以及布尔型),运算符的种类和使用,如算术运算、类型转换,以及如何处理键盘输入。内容涵盖了变量的声明、初始化、分类、优先级和类型转换的注意事项。
摘要由CSDN通过智能技术生成

变量、数据类型、运算符

1-二进制、数字化语录、摩斯密码、脑机接口

2-二进制和十进制的转化

十进制转换二进制

二进制转十进制

3-注释_单行和多行_注释和字节码文件的关系

注释

4-标识符_关键字_驼峰原则

标识符和关键字

示例:合法的标识符

int a = 3;
int _123 = 3;
int $12aa = 3;
int 变量1= 55;//不推荐中文命名标识符

关键字/保留字

5-变量的本质_内存画图_变量的声明和初始化

变量的本质

变量的声明

public class TestVariable {

        public static void main (String[] args()){
            int age =18;
            int b;  //此处只是声明了变量b没有初始化;
            int x = 0,y = 0, z = 1;
                    

            System.out.println(age);
            b = 0;  //变量使用之前必须初始化!
            System.out.println(b);

            System.out.println(z);


    }

}

6-变量的分类和作用域(局部变量、成员变量、静态变量)

变量的分类和作用域

public class TestVariable {
        int a =3; //成员变量
        static int b = 4; //静态变量

        public static void main (String[] args()){

            //局部变量
            int age =18;
            int b;  //此处只是声明了变量b没有初始化;
            int x = 0,y = 0, z = 1;
                    

            System.out.println(age);
            b = 0;  //变量使用之前必须初始化!
            System.out.println(b);

            System.out.println(z);


    }

}

局部变量(local variable)

方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。

成员变量

静态变量

7-常量和final

常量(Consant)

示例

常量定义用大写字母,用下划线分割单词

字符常量、符号常量

变量和常量命名规范

public class TestConstant {
        public static void main(String[] args){
            final double PI = 3.14;
            //PI = 3.1415;  //无法为常量再次分配值
            final MAX_SPEED = 120 ; //常量的命名:全用大写字母,用下划线分割。

            int r = 4 ;
            double area = PI*r*r;
            double circle = 2*PI*r
            System.out.println("面积是:"+area);
            System.out.println("周长是:"+circle);


        }





}

8-基本数据类型介绍

基本数据类型

9-整形变量和整形常量和各种进制

整形

public class TestInt {

        public static void main(String[] args){
            intt a = 100 ;   //十进制
            intt b = 015 ;   //八进制
            intt c = 1xff ;  //十六进制
            intt d = 0b1001010101 ;   //二进制


            byte e = 50;
            short f = 300;
            
            System.out.println(a);
            System.out.println(b);
            System.out.println(c);
            System.out.println(d);

            int salary = 30000; //整型常量默认类型是int
            long yearSalary = 3000000000L; //把整型常量定义为long类型
            System.out.println("你的年薪:"+yearSalary);
    }
}

10-浮点型_float_double

/*
*测试浮点数的基本用法
*/
public class TestFloatNumber {
        public static void main(String[] args){
            double d1 =3.14;
            double d2 =3.14E2; //科学计数法

            float f1 = 1.65F; //浮点常量的默认类型是double,改float需要后面加F;
            
            //浮点数是不精确的,尽量不要直接比较
            float f2 = 0.1F;
            double d3 = 1.0/10;
            System.out.println(f2==d3); //一个=是赋值;两个==是比较。

            float f4 = 2323645354561L;
            float f5 = f4+1;
            System.out.println(f4==f5);
            
            System.out.println(d2);
            
}
}

11-char字符集_字符集历史_转义字符

转义字符表

/*
*字符集测试
*/
public class TestChar {

        public static void main (String[] args){

        char c1 = 'a';
        char c2 = '中';
        char c3 = '\u0061';

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);    

        //java中字符串不是基本数据类型;
        String str = "我爱中国";
        System.out.println(str);

        //转义字符
        char c5 = '\n'
        System.out.println("a\n"b\"\nc\n\'e\'\n\\f\ng");
        System.out.println("o\tp\tq\tr\ts\tt");

        
    }
}

12-布尔型boolean

/**
*测试boolean类型
*/
public class TestBoolean {

        public static void main(String[] args){
            boolean b1 = false;
            boolean b2 = false;

            if(b1){  //if(b1==true)

                System.out.println("b1是true!");
                }
            else{
                System.out.println("b1是false");
                    }


        }  







}

13-运算符总体介绍

14-算术运算符_自增自减

/**
* 测试算术运算符
*/
public class TestOperator01 {

        public static void main(String[] args){
            int a = 3;
            int b = 4;
            int c = a + b;
            int d = a - b;
            int e = a * b;
            int h = a / b;

            System.out.println(c);
            System.out.println(d);
            System.out.println(e);
            System.out.println(f);
            
            long c = a + b ;
            
            double d = 3+3.14;
            int d2 = 32 / 3;      //两个整数相除,直接保留结果的整数部分没有四舍五入    
    
                //+,-,*,/
                //取余数
                int g = 10%3;
             System.out.println(g);

             //测试自增自减
            int j = 30;
            j++;      //相当于: j = j+1 ;  
            j--;      //相当于: j = j-1 ;

            j=10;
            int h = j++ ;    //j++ 先赋值,后自增
            j=10;
            int h = ++j ;    //++j 先自增,后赋值
            
            System.out.println(h);
            System.out.println(i);
            
    }


}

15-赋值和赋值扩展运算符

/**
* 测试扩展运算符的用法
*/

public class TestOperator02 {
        
        public static void main(String[] args){
            int a = 3;
            int b = 4;
            a += b ; //相当于:a = a+b
            System.out.println(a);

            a = 3;
            a *= b+3;   //相当于: a = a*(b+3)
            System.out.println(a);
    }
}

16-关系运算符详解

/**
* 测试关系运算符的用法
*/

public class TestOperator03 {
        
        public static void main(String[] args){
            
            int a = 3;
            int b = 4;
            boolean c = a>b;
            System.out.println(c);

            char d = 'h';
            //char值位于0~65536之间,可以通过(int)强制转型成数字
            System.out.println((int)d);
            boolean e = d>100;
            System.out.println(e);
             
        
    }
}

17-逻辑运算符

/**
* 测试逻辑运算符的用法
*/

public class TestOperator04 {
        
        public static void main(String[] args){
        //测试逻辑运算符
        boolean b1 = ture;    
        boolean b2 = false;
        System.out,println(b1&b2);  //与:有一个false,结果: false
        System.out,println(b1|b2);  //或: 有一个true,结果:true
        System.out,println(!b2);    //取反
        System.out,println(b1^b2);  //异或:相同false,不同true


        //短路与、短路或
        //int b3 = 3/0;   //会报不能除以0的异常
        boolean b3 =1>2 && (4<3/0);
        System.out,println(b3); 
 
             
        
    }
}

18-位运算_移位运算

/**
* 移位运算符的用法
*/

public class TestOperator05 {
        
        public static void main(String[] args){
        int a = 7;
        int b = 8;
        System.out.println(a&b);  //结果为:0
        System.out.println(a|b);  //结果为:15     
        System.out.println(a^b);  //结果为:15
        System.out.println(~b);  //结果为:-9


        //移位
        //乘以2,除以2,使用位移操作,最快!!!
        int c = 5<<2;  //相当于:  5*2*2
        System.out.println(c);
        System.out.println(40>>3)   //相当于; 40/2/2/2
        
    }
}

19-字符串连接

/**
* 字符串连接的用法
*/

public class TestOperator06 {
        
        public static void main(String[] args){
            String a = "30";
            int b = 4;
            System.out.println(a+b);

            //条件是String,不是char。若是char,则仍是加法
            char c1 = 'h';
            char c2 = 'i';
            System.out.println(c1+c2);
            //通过加空字符集,让整个+都变成连接符
            System.out.println(""+c1+c2)
            
    }
}

20-条件运算符详解

/**
* 条件运算符连接的用法
*/

public class TestOperator07 {
        
        public static void main(String[] args){
            
            int score = 90;
            String a = score<60?"不及格":"及格"

            System.out.println(a);

            if(score<60){
                a = "不及格"

        } else{
                a = "及格"
        }

        int x = -100;
        int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
        System.out.println(flag);
            
    }
}

21-运算符优先级问题

/**
* 运算符优先级
*/

public class TestOperator08 {
        
        public static void main(String[] args){
            
        //优先级问题的用法
        boolean s1 = ture,s2 = ture,s3 = false;
        System.out.pringtln(s1||s2&&s3);

        //建议使用小括号组织表达式
        boolean s4 = (3>1||4>3)&&(3<5);
        System.out.println(s4);

            
    }
}

22-自动类型转换

/**
* 类型自动转换测试
*/

public class TestTypeAutoConvert {
        
        public static void main(String[] args){
            
       //容量小的类型可以自动转换成容量大的类型
        int a = 2345;
        long b = a ;
        //int c = b;    //long类型不能自动转换为int
        double d = b;
        float f = b ;
        //特列:整型常量是int类型,但可以自动转换成:byte/short/char
        //只要不超过对应类型的表述范围
        byte h1 = 123 ;
        //byte h2 = 1234;  //1234超过了byte的表述范围

        char h3 = 97+23;
        System.out.println(h3);
            
    }
}

23-强制类型转换

/**
* 类型强制转换测试
*/

public class TestTypeCast {
        
        double a = 3.94152;
        int b = (int)a; //结果: 3 浮点数强制转为整数,直接丢失小数部分
        System.out.println(b);


        int c = 97;
        char d = (char)c;
        System.out.println(d);

        //强制转换类型,超过了表述范围,则会转成一个完全不同的值
        byte e = (byte)300;
        System.out,println(e);
    }
}

24-j基本类型转换常见的错误_溢出问题

/**
*溢出错误测试
*/

public class TestTypeCast {
        //测试常见错误之:溢出
        int money = 1000000000; //10亿int years = 20;
        //返回的total是负数,超过了int的范围int total = money*years ;
        System. out.println ( "total="+total);
        //返回的total仍然是负数。默认是int,因此结果会转成int值
        long total1 = money*years;
        system.out.println ( "total1="+total1) ;
        //返回的total2正确:先将一个因子变成long,整个表达式发生提升。
        // long total2 = money* ( ( long ) years) ;
        long total2 = 1L*money*years;
        System.out.println ( "total2="+total2);
    }
}

25-使用scanner处理键盘输入

/**
*Scanner测试
*/

public class TestScanner {
    Scanner  s = new Scanner(System.in);

    //输入用户名、年龄、月薪
    System.out.println("请输入用户名:");
    String uname = s.nextLine();

    System.out.println("请输入你的年龄");
    int age = s.nextInt();

    System.out.println("请输入你的月薪"); 
    double monthSalary = s.nextDouble();


    System.out.println("\n\n\n\n\n\n");
    System.out.println("*****年薪计算器*****");  
    System.out.println("用户名:"+uname); 
    System.out.println("年龄"+age);
    System.out.println("年薪"+(monthSalary*12));    
    }
}

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值