zoukankan      html  css  js  c++  java
  • day02-java

          day02      

    大纲:

    变量

    基本数据类型

    数据类型之间的转换


    1.变量:存数的,代词,指代的就是它所存的那个数
      1)声明:
          int a; //声明一个整型的变量,名为a
          int b,c,d; //声明三个整型的变量,名为b,c,d
      2)命名:
        2.1)只能由字母、数字、_和$符组成,
            并且不能以数字开头
        2.2)严格区分大小写
        2.3)不能使用关键字
        2.4)可以中文命名,但不建议
            建议"见名知意","驼峰命名法"
      3)初始化:第一次赋值
        3.1)声明的同时初始化:
              int a=250; //声明整型变量a并赋值为250
        3.2)先声明后初始化:
              int a; //声明整型变量a
              a=250; //给变量a赋值为250
      4)使用:
        4.1)变量的使用必须与数据类型匹配
              int a = 3.14; //编译错误,数据类型不匹配
        4.2)对变量的使用就是对它所存的数的使用
              int a=5; //声明整型变量a并赋值为5
              int b=a+10; //取出a的值5,加10后,再赋值给变量b
              a=a+10;     //取出a的值5,加10后,再赋值给变量a
                          //在a本身基础之上增10
              System.out.println(b); //输出变量b的值15
              System.out.println("b"); //b,双引号中的原样输出
        4.3)变量在用之前必须声明并初始化
              System.out.println(m); //编译错误,m未声明
              int m;
              System.out.println(m); //编译错误,m未初始化


    2.基本数据类型:
      1)int:整型,4个字节,-21个多亿到21个多亿
        1.1)整数直接量默认为int型,但不能超出范围,
            超出范围则编译错误
        1.2)两个整数相除,结果还是整数,小数位无条件舍弃
        1.3)运算时超出范围则发生溢出,溢出是需要避免的
      2)long:长整型,8个字节,很大很大很大
        2.1)long型直接量,需要数字后加l或L
        2.2)若运算时有可能超出范围,建议在第1个数字后加L
        2.3)System.currentTimeMillis()可以获取
            自1970.1.1零时到此时此刻的毫秒数
      3)double:浮点型,8个字节,很大很大很大
        3.1)浮点数直接量默认为double型,表示float需加f或F
        3.2)浮点型参与运算时有可能会出现舍入误差,
            精确运算场合建议使用BigDecimal表示
      4)boolean:布尔型,1个字节
        4.1)只能存储true和false
      5)char:字符型,2个字节
        5.1)Java中的char采用Unicode字符集编码格式,
            一个字符(char)对应一个码(int)(0到65535之间),
            表现形式是char字符,但实质上是int码
        5.2)字符需放在单引号中,有且仅有一个
        5.3)特殊符号需通过转义符来转义


    3.基本类型间的转换:
      类型从小到大依次为:
        byte,short,int,long,float,double
              char
      1)两种方式:
        1.1)自动类型转换:从小类型到大类型
        1.2)强制类型转换:从大类型到小类型
              语法: (要转换为的类型)变量
              强转有可能会溢出或丢失精度
      2)两点规则:
        2.1)整数直接量可以直接赋值给byte,short,char,
            但不能超出范围
        2.2)byte,short,char型数据参与运算时,
            先一律转为int再运算

    4.Scanner的用法:
      1)在package下:
          import java.util.Scanner;
      2)在main方法中:
          Scanner scan = new Scanner(System.in);
      3)在第2步之下:
          System.out.println("请输入年龄:");
          int age = scan.nextInt();
          System.out.println("请输入价格:");
          double price = scan.nextDouble();

    double的缺点(计算结果可能有偏差):
    double a=3.0,b=2.9;
    System.out.println(a-b); //0.10000000000000009
                             //0.1

    double a=6.0,b=4.9;
    System.out.println(a-b); //1.09999999999999996
                             //1.1


    int的缺点:(2147483647+1后会溢出,溢出不是错,是一个不好的现象,需要避免)
    int balance = 2147483647;
    balance = balance+1;
    -2147483648===========+1后
    -2147483647===========+1+1后
    -2147483646===========+1+2后


    1G=1024M(兆)
    1M=1024KB(千字节)
    1KB=1024B(字节)
    1B=8Bit(位)

    1G=1024*1024*1024字节----1073741824字节

    帕斯卡命名法: Score,MyScore,MyJavaScore
    驼峰命名法:   score,myScore,myJavaScore

    package day02;
    
    //数据类型的演示
    public class DataTypeDemo {
        public static void main(String[] args) {
    
            
            /*
            //基本类型间的转换
            int a = 5;
            long b = a; //自动类型转换
            int c = (int)b; //强制类型转换
            
            long d = 5; //自动类型转换
            double e = 5; //自动类型转换
            
            long f = 10000000000L;
            int g = (int)f;
            System.out.println(g); //强转有可能会溢出
            
            double h = 45.987654;
            int i = (int)h;
            System.out.println(i); //强转有可能会丢失精度
            
            
            byte b1 = 5;
            byte b2 = 6;
            byte b3 = (byte)(b1+b2);
            
            System.out.println(2+2); //4
            System.out.println('2'+'2'); //100,'2'的码50加上'2'的码50
            */
            
            
            /*
            //5.char:字符型,2个字节
            char c1 = '男';
            char c2 = 'm';
            char c3 = '6';
            char c4 = ' ';
            //char c5 = ''; //编译错误,必须有字符
            //char c6 = '男性'; //编译错误,只能有一个字符
            //char c7 = 男; //编译错误,必须放在单引号中
            
            char c8 = 65; //必须在0到65535之间
            System.out.println(c8); //A
            
            char c9 = '\';
            System.out.println(c9);
            */
            
            /*
            //4.boolean:布尔型,1个字节,只能取值为true和false
            boolean a = true; //true为布尔型直接量
            boolean b = false;
            //boolean c = 25; //编译错误,数据类型不匹配
            */
            
    
            /*
            //3.double:浮点型,8个字节,很大很大很大
            double pi = 3.14159; //3.14159为浮点数直接量,默认double型
            float f = 3.14159F; //float型直接量需在数字后加f或F
            
            double a=3.0,b=2.9;
            System.out.println(a-b); //0.10000000000000009
            */
            
            /*
            //2.long:长整型,8个字节,很大很大很大
            long a = 250L; //250L为长整型直接量
            //long b = 10000000000; //编译错误,100亿默认为int型,但超出范围了
            long c = 10000000000L;
            
            long d = 1000000000*2*10L;
            System.out.println(d); //200亿
            long e = 1000000000*3*10L;
            System.out.println(e); //溢出了
            long f = 1000000000L*3*10;
            System.out.println(f); //300亿
            
            //获取自1970.1.1零时到此时此刻的毫秒数
            long g = System.currentTimeMillis();
            System.out.println(g);
            */    
            
            /*
            //1.int:整型,4个字节,-21个多亿到21个多亿
            int a = 250; //250为整数直接量,默认为int型
            //int b = 10000000000; //编译错误,100亿默认为int型,但超出范围了
            
            System.out.println(5/2);   //2
            System.out.println(2/5);   //0
            System.out.println(5/2.0); //2.5
            
            int b = 2147483647;
            b=b+1;
            System.out.println(b); //溢出为-2147483648
            */
            
        }
    }
    package day02;
    //变量的演示
    public class VarDemo {
        public static void main(String[] args) {
    
            /*
            //4.变量的命名:
            int a1,a_5$,_5a,$6;
            //int a*b; //编译错误,不能包含*
            //int 1a; //编译错误,不能以数字开头
            int a=5;
            //System.out.println(A); //编译错误,严格区分大小写
            //int class; //编译错误,不能使用关键字
            int 年龄; //正确,但不建议
            int age;  //建议"见名知意"
            int score,myScore,myJavaScore; //建议"驼峰命名法"
            */
            /*
            //3.变量的使用:
            //int a = 3.14; //编译错误,数据类型不匹配
            int b = 5; //声明整型变量b并赋值为5
            b = b+10; //取出b的值5,加10后,再赋值给b
            System.out.println(b); //输出变量b的值为15
            System.out.println("b"); //输出b,双引号中的原样输出
            //System.out.println(m); //编译错误,m未声明
            int m;
            //System.out.println(m); //编译错误,m未初始化
            */
            /*
            //2.变量的初始化:第一次赋值
            int a = 250; //声明整型变量a并赋值为250
            int b;   //声明整型变量b
            b = 250; //给变量b赋值为250
            */
            /*
            //1.变量的声明:
            int a; //声明一个整型的变量,名为a
            int b,c,d; //声明三个整型的变量,名为b,c,d
            */
        }
    }
    package day02;
    import java.util.Scanner; //1.
    //Scanner用法的演示
    public class ScannerDemo {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in); //2.
            System.out.println("请输入年龄:");
            int age = scan.nextInt(); //3.
            System.out.println("请输入价格:");
            double price = scan.nextDouble();
            
            System.out.println(age);
            System.out.println(price);
        }
    }
  • 相关阅读:
    面试40-一个数组,有2个数字出现奇数次,其余都是偶数次,求这两个数字O(n) O(1)
    面试38-数字在排序数组中出现的个数
    面试35-删除字符串重复字符-删除出现在第二个字符串中的字符-第一个只出现一次的字符-hash表计数
    意外get接近完美的黑苹果 (UEFI + GPT)
    Windows 启用/禁用内置管理员 Administrator
    出去走走
    【搬运】Wget 命令详解
    C语言学习之插入排序
    由 UWP 版网易云音乐闪退引发的博文
    gets() 与 scanf() 的小尴尬
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/6123825.html
Copyright © 2011-2022 走看看