第二章笔记 变量内容

   什么是变量:

              变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样.

              #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据.  说白了,变量就是代表程序运行还是存放数据的地方

 

 数据的存放:

                磁盘  内存卡  u盘   光盘  内存条 固态    机械硬盘等等

    

                 简单的信息(临时的信息)  纸

                 人把信息存在大脑

                 变量怎么在内存中存储

                已将数据存储打内存中怎么去找

              分配后内存和会有内存地址( 内存地址不好记忆)

          :通过变量名可以简单快速的找到他存储的数据

 

 

    

Java定义的常用数据类型有哪些?

 字节:

         #是计算机信息技术用于计量存储容量的一种计量单位,       

            也表示一些计算机编程语言中的数据类型和语言字符       

          8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。       

            1个字节可以储存1个英文字母或者半个汉字,换句话说,

1个汉字占据2个字节的存储空间  位:是电子计算机中最小的数据单位。

每一位的状态只能是0或1数据只用0和1还种表现形式,(这里只表示一个数据点,不是数字),一个0或者1占一个“位”,而系统中规定8个位为一个字节

 一个字节等于8位  (一个字节就是一个英语字母这么大 一个汉字的一半)  电脑里面的所有数据都是以二进制数1或0来存储的,一个1或0叫1bit即1位,8位二进制数称为一个字节,即Byte!  一个字符能存储一个中文汉字  一个汉字占用两个字节

 #术语:位,字节用于描述计算机数据单位或计算机存储单位。这里主要指存储单位  #      最小的存储单位称为位(bit):  #     只能容纳两个值(0或1)之一,不能在一个位中存储更多的信息。位是计算机存储的基本单位。  #     对于一种给定的计算机设计,字(word)是自然的存储单位。  #     一个英文字符和英文标点占用一个字节,一个中文字符和中文标点占用2个字节  #  #     字节(byte)是常用的计算机存储单位。  #     字节的标准定义:一个字节均为8位。由于上述所讲每个位或者是0或者是1,所以一个8位的字节包含256种可能的0,1组合

   之前讲过集中数据类型?

 java基本数据类型就8种,记住就好了。除了这些都是引用型的了  java四类八种基本数据类型 (占用字节)

   #在栈中可以直接分配内存的数据是基本数据类型

        字节大小  第一类:整型   int(整数类型)  4   byte(字节类型) 1   short(短整形)  2   long(长整形)  8  第二类:浮点型   double(双精度类型 双精度)   8   float(浮点类型 单精度)      4  第三类:逻辑型   boolean(布尔型  他只有两个值1.True  2.False) 1  第四类:字符型   char(字符型)  2

  

 

主类型   大小   最小值   最大值    boolean   1位     -     -    char     16位  0   2的16次方-1=65535  byte      8位   -128   +127    short    16位   -2的15次方=-32768 +2的15次方-1   int      32位   -2的31次方  +2的31次方-1   long     64位   -2的63次方  +2的63次方-1   float    32位   1.4E-45   3.4028235E38   double   64位   4.9E-324  1.7976931348623157E308      // byte  System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);  System.out.println("最小值:" + Byte.MIN_VALUE);  System.out.println("最大值:" + Byte.MAX_VALUE);  System.out.println();        // short          System.out.println("基本类型:short 二进制位数:" + Short.SIZE);          System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);          System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);          System.out.println();            // int          System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);         System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);          System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);          System.out.println();            // long          System.out.println("基本类型:long 二进制位数:" + Long.SIZE);         System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);          System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);          System.out.println();            // float          System.out.println("基本类型:float 二进制位数:" + Float.SIZE);          //1.4乘于10的负45次方;此处的E并非自然对数,而是10的次方的意思。这是科学计数法的写法         System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);          System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);          System.out.println();            // double          System.out.println("基本类型:double 二进制位数:" + Double.SIZE);         System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);          System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);          System.out.println();      // char          System.out.println("基本类型:char 二进制位数:" + Character.SIZE);         // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台          System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);          // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台          System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);    

变量的声明及使用 变量的定义两种方式:  语法:变量类型 变量名 = 数值;    // 先定义  再赋值  int a;  a = 10;

 // 边定义  边赋值  int a = 10;

起变量名一定要规范:  字母、下划线、$符号 其余部分任意字符、下划线、数字、$符号  通常第一个单词的首字母小写,其后的单词的首字母大写:mySchool(起变量名要有意义,见名知意)

赋值运算符(=):  变量名 = 表达式  程序中的赋值是右边给左边赋值  int a = (1 + 2) * (8 - 2);

算数运算符  + :加  - :减  x : 乘  / :除  % :余

类型转换:  自动类型转换  整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。  转换从低级到高级。  低  ------------------------------------>  高  byte,short,char—> int —> long—> float —> double  数据类型转换必须满足如下规则:  1. 不能对boolean类型进行类型转换。  2. 不能把对象类型转换成不相关类的对象。  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。  4. 转换过程中可能导致溢出或损失精度,例如:  int i =128;    byte b = (byte)i;  因为byte类型时8位,最大值为127,所以当强制转换为int类型值128时候就会导致溢出。  5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:  (int)23.7 == 23;    (int)-45.89f == -45

 规则一:如果一个操作数为double型,整个表达式都提为double    规则二:满足自动转换类型   char c1='a';//定义一个char类型   int i1 = c1;//char自动类型转换为int   System.out.println("char自动类型转换为int后的值等于"+i1);   char c2 = 'A';//定义一个char类型   int i2 = c2+1;//char 类型和 int 类型计算   System.out.println("char类型和int计算后的值等于"+i2);   解析:c1的值为字符'a',查ascii码表可知对应的int类  型值为97,'A'对应值为65,所以i2=65+1=66   扩展:   ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646

强制类型转换:  语法:(类型名)表达式   强制类型转换  1. 条件是转换的数据类型必须是兼容的。  2. 格式:(type)value type是要强制类型转换后的数据类型 实例:  实例  public class QiangZhiZhuanHuan{   public static void main(String[] args){    int i1 = 123;    byte b = (byte)i1;//强制类型转换为byte    System.out.println("int强制类型转换为byte后的值等于"+b);     } } 隐含强制类型转换 1. 整数的默认类型是 int。 2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。 这一节讲解了 Java 的基本数据类型。下一节将探讨不同的变量类型以及它们的用法

逻辑运算符  && :两个条件同时为真,结果为真  || :两个条件有一个为真,结果为真  ! :条件为真,结果为假;条件为假,结果为真

关系运算符  > 大于  < 小于  = 等于  >= 大于等于  <= 小于等于  != 不等于 关系运算符的作用:用来做比较运算,比较结果为boolean

运算符的优先级  最高 小括号()  最低 赋值=    优先级顺序:算数运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符

short a = 1; short b = 2; 那么 a+b 是什么类型? 答:在java的世界里,如果比int类型小的类型做运算,java在编译的时候就会将它们统一强转成int类型。当是比int类型大的类型做运算,就会自动转换成它们中最大类型那个。

 

 String a1 = "张三";// 000001       String a2 = "张";// 000001     if(a1 == a2){ // 比较的地址   System.out.println("True");  }else{   System.out.println("False");  }     if(a1.equals(a2)){// 比较值是否相等   System.out.println("True");  }else{   System.out.println("False");  }    }

posted @ 2017-09-15 13:30  刻刻刻刻苦铭心  阅读(113)  评论(0编辑  收藏  举报