变量、基本数据类型及转换、Scanner接收输入java day02 0801

回顾:
1.java开发环境:
  1)java编译运行过程:
    1.1)编译期:.java源文件,经过编译,生成.class字节码文件
    1.2)运行期:JVM加载.class并运行.class
    跨平台、一次编程到处使用
  2)JVM:java虚拟机
        加载.class并运行.class
    JRE:java运行环境
        JRE=JVM+java系统类库(小零件)
    JDK:java开发工具包
        JDK=JRE+编译、运行等命令工具
2.eclipse:
    IBM、开源的、免费的
    新建项目、新建包、新建类 System.out.println("HelloWorld");
   

笔记:
1.变量:存数的,代词,指代的就是它所存的那个数
  1)声明:
      int a; //声明一个整型的变量,名为a
      int b,c,d; //声明三个整型的变量,名为b,c,d
  2)初始化:第一次赋值
      int a = 250; //声明整型变量a并赋值为250
      int a;   //声明整型变量a
      a = 250; //给变量a赋值为250
      a = 360; //修改变量a的值为360
  3)使用:
    3.1)对变量的操作就是对它所存的那个数的操作
          int a = 5;
      int b = a+10; //取出a的值5,加10后,再赋值给变量b
      System.out.println(b);   //输出变量b的值15
      System.out.println("b"); //输出b,双引号中的原样输出
          a = a+10; //取出a的值5,加10后,再赋值给变量a
                //在a本身基础之上增10
    3.2)变量的使用必须与数据类型匹配
          int a = 3.14; //编译错误,数据类型不匹配
    3.3)变量在用之前必须声明并初始化
          System.out.println(m); //编译错误,m未声明
      int m;
      System.out.println(m); //编译错误,m未初始化
  4)命名:
    4.1)只能包含字母、数字、_和$符,并且不能以数字开头
    4.2)严格区分大小写
    4.3)不能使用关键字
    4.4)可以中文命名,但不建议
        建议"英文的见名知意"、"驼峰命名法"
2.基本数据类型:
  1)int:整型,4个字节,-21个多亿到21个多亿
    1.1)整数直接量默认为int型,但不能超出范围,超范围则编译错误
    1.2)两个整数相除,结果还是整数,小数位无条件舍弃
    1.3)整数运算时超出范围则发生溢出,溢出不是错误,但是是需要避免的
  2)long:长整型,8个字节,很大很大很大
    2.1)长整型直接量需在数字后加L或l
    2.2)运算时若有可能溢出,建议在第1个数字后加L
    2.3)System.currentTimeMillis()用于获取自
        1970.1.1零时到此时此刻的毫秒数
  3)double:浮点型,8个字节,很大很大很大
    3.1)浮点数直接量默认为double型,表示float需在数字后加f或F
    3.2)double和float数据在运算时,有可能会出现舍入误差
  4)boolean:布尔型,1个字节
    4.1)只能赋值为true和false
  5)char:字符型,2个字节
    5.1)采用Unicode字符集编码,一个字符对应一个码,
        表现的形式的字符char,但实质上是码int
    (ASCII码: 'a'--97  'A'--65  '0'--48)
    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();

练习:--------day03包中
1)创建类AgeRange,要求:
    接收用户输入的年龄age,并输出
2)创建类LeapYear,要求:
    接收用户输入的年份year,并输出
3)创建类Cashier,要求:
    完成课后作业第9题
4)完成课后作业
5)练习今天的小代码:--------------至少1、2次
  5.1)变量一段
  5.2)int、long、double一段
  5.3)boolean、char一段
  5.4)基本数据类型转换一段

当日事当日毕


给变量赋值:
1)赋一个固定的值:
    int a = 5;
2)接收用户输入的值:-------------Scanner
    int a = ?;
3)系统随机的值:-----------------周五讲
    int a = ?;


byte b1 = 5;
byte b2 = 6;
byte b3 = (byte)(b1+b2);

byte,short,int,long,float,double,char


890-----88折------783


char ch = 'A'; //0到65535之间
System.out.println(ch); //A


char c1 = '\\';


0--------------0
'0'------------48

男---------男对应的码

字符char        码int
敌--------------1234
军--------------2234
来--------------3234
袭--------------4234

1235 8965 7458 2584
你    撤   退   吧


DataTypeDemo

精确运算场合

double a=3.0,b=2.9;
System.out.println(a-b); //0.1000000000000000009
                         //0.1

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

十进制:
1/2---------------0.5
1/4---------------0.25(精确表示)
1/3---------------0.3333333333333333333...
2/3---------------0.6666666666666666666...(非精确表示)


二进制:
1/10

1970.1.1零时

31536000000----------long


         20亿(int)
long a = 1000000000*2*10L;
System.out.println(a); //200亿(long)

         溢出了
long b = 1000000000*3*10L;
System.out.println(b); //不是300亿

         30亿(long)
long c = 1000000000L*3*10;
System.out.println(c); //300亿(long)


9223372036854775807
10000000000000000000


直接量超范围为编译错误
运算时超范围为溢出

int a = 10000000000;   //编译错误
int a = 1000000000*10; //溢出


int balance = 2147483647;
balance = balance+1;--------------(-2147483648)


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

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


够用就行


java设计了很多种类型,每种类型中装的数据是不同的
为何不设计一种类型,这种类型什么数据都能装

适应不同人的不同的需求


别墅
四居室
三居室
两居室
一居室
开间
地下室

VarDemo,包含main,把注释删掉


int score,myScore,myJavaScore; //驼峰命名法
int Score,MyScore,MyJavaScore; //帕斯卡命名法


int a;        //不直观
int 年龄;     //直观但不专业
int nianLing; //既不直观也不专业
int age;      //建议

                         twoBagMnq
erJuanBianYaQi-----------二卷变压器

int a=5,b=6;
int c = a+b;
System.out.println(c); //11

0-------------100
10------------110
100-----------200
1000----------1100

早期的计算机--------算数(数字)
现在的计算机--------算数(数字、文字、图片、音频、视频等)


www.taobao.com------------一个数据
淘宝首页------------------一堆数据
手机壳--------------------一个数据
一堆手机壳----------------一堆数据
详细页面------------------一堆数据
购物车--------------------一堆数据
结算----------------------一堆数据

猜你喜欢

转载自blog.csdn.net/u011807251/article/details/81411666