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);
        }
    }
  • 相关阅读:
    高级(线性)素数筛
    Dijkstra(迪杰斯特拉)算法
    简单素数筛
    【解题报告】 POJ1958 奇怪的汉诺塔(Strange Tower of Hanoi)
    4 jQuery Chatting Plugins | jQuery UI Chatbox Plugin Examples Like Facebook, Gmail
    Web User Control Collection data is not storing
    How to turn on IE9 Compatibility View programmatically in Javascript
    从Javascrip 脚本中执行.exe 文件
    HtmlEditorExtender Ajax
    GRIDVIEW模板中查找控件的方式JAVASCRIPT
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/6123825.html
Copyright © 2011-2022 走看看