zoukankan      html  css  js  c++  java
  • 第二章

     变量,数据类型和运算符     

        1.变量是一个数据存储空间的表示,它是储存数据的基本单元。

           如何理解这句话,下面用一个表格可以形象的表达:

                                                                                                   变量与房间之间的对应关系

    房间名称

    变量名

    房间类型

    变量类型

    入住的客人

    变量的值

    通过变量名可以简单快速地找到它存储的数据。将数据指定给变量,就是将数据存储到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来使用。可见,变量是存储数据的

    一个基本单元,不同的变量相互独立。

       2.Java中常用的数据类型

            

    数据类型

    说明

    举例

    int

    整形

    用于存储整数,如学员人数,某公司的员工编号,一年的天数,一天的小时数

    double

    双精度浮点型

    用于存储带有小数的数字,如商品的价格,世界银行给其他国家(地区)的贷款金额,员工工资

    char

    字符型

    用于存储单个字符,如性别 "男"或“女”,成绩“优”或“良”

    String

    字符串型

    用于存储一串字符,如员工姓名,产品型号,产品的介绍信息

    不同的数据在存储时的所需要的空间各不相同,例如,int型的数值要占四字节,而double型的数值占八字节。其中,int,double,char都是Java定义的关键字。

      3.变量声明及使用

             语法:

                   数据类型   变量名;

                   数据类型可以是Java中定义的任意一种数据类型。比如,要存储一项考试最高分99.5,获得最高分的学生姓名“张良”及性别‘男’。

                    double   score;   //声明双精度浮点型变量score存储分数;

                    String    name;   //声明字符串型变量name存储学生姓名;

                     char     sex;      //声明字符型变量sex存储性别;

                  变量名 = 值;

                    给变量赋值,即“将数据存储至对应的内存空间”

                      score = 99.5;//存储99.5

                      name = “张三”;//存储“张三”

                       sex   =‘男’       //存储‘男’

                     分开的步骤过为繁琐 将以上两个步骤合二为一,在声明一个变量的同时给变量赋值。

                     数据类型  变量名  =  值;

                     double  score = 99.5;

                     String   name  =  “张三”;

                     char    sex   =    ‘男’;

                      调用变量。使用存储的变量,称之为“调用变量”。

                      System.out.println(score); //从控制台输出变量score存储的值

                     

          System.out.println(name); //从控制台输出变量name存储的值

     

          System.out.println(sex); //从控制台输出变量sex存储的值

                      注意:变量都必须声明和赋值才能使用!!!

                     变量命名的规则

                      变量必须以字母,下划线“-”或“$”符号开头

                      变量可以包括数字,但不能以数字开头

              除了“-”和“$”符号以外,变量名不能包含任何特殊字符

           不能使用Java语言的关键字,如int ,class,public等

                     注意:Java语言区分大小写!Java关键字是Java中定义的,有特别意义的标识符,不能用做变量名,类名,包名等。

                    规范:变量名要简短且清楚的表明变量的作用,可以由一个或多个单词组成,通常第一个单词的首字母大写,其后的单词首字母大写。

          比如 :  int     ageOfStudent;//学生年龄

                       int      ageOfTeacher;//老师年龄

                    经验:要尽量使用有意义的变量名,且最好使用简短的英文单词。这样日后更容易维护程序,变量的名称要让人一眼就看出这个变量的作用。

                    常见错误:

                                      1.变量未赋值先使用

             2.使用非法的变量名

               3.变量名重复使用

            以上错误在在执行时均会报错!

                     运算符

           1.赋值运算符

              “=”称为赋值运算符。“=”可以将某个数值赋给变量,或是将某个表达式的值赋给变量。表达式就是符号(如加号,减号)与操作数(如b,3等)的组合。例如:

                int b;

                int a = (b +3) *(b-1);

               注意:"="的功能是将等号右边表达式的结果赋给等号左边的变量。

             2. 算术运算符

               ( +   ,   -   ,   *   ,   /  ,   %)

             以上是常用的五种算术运算符加,减,乘  ,除,余。特别注意这个取余运算符是求操作数相除的余数。

             数据类型转换

            包括自动类型数据转换和强制类型转换两种形式

            自动类型数据转换的条件是:两种数据类型要兼容,比如整型和浮点型互相兼容。目标类型大于源类型:double类型可以存放int类型数据,因为double类型变量分配的空间宽度足够存储int类型变量。

      强制数据类型转换的语法是:在变量前加上括号,括号中的类型就是要强制转换成的类型。例如

             double   a   =    3.1415926;

             int       b  =  (int)a;

            运行后b的值为:3

             boolean类型

                 有些程序问题需要判断真假,这时就需要boolean数据类型。

    "boolean"又称"布尔",所以我们常说布尔类型,boolean是Java中的关键字,所有字母为小写。 boolean类型只有两个值:ture(真),false(假)。

             关系运算符

        (>,   >=  ,   <   ,<=   ,==  ,!=)

                      “==”是比较运算符,比较左右两个值是否相等。特别注意要与前边的“=”区别开,“=”是将右边的值赋给左边!“!=”是不等与的意思

                 以上是6种比较关系的关系运算符,比较的结果是一个boolean类型的值,要么是真(true),要么是假(false)。

             Java中提供Scanner类,可以实现从控制台获取键盘上输入的信息

                   具体方法为:Scanner   input =  new   Scanner(System.in);  写完后发现会报错  ,此时必须在Java源代码的第一行写上如下语句:import   java .util. Scanner;或者

                   import   java .util. *;

    < 扩展和补充>

    数据的存放: 磁盘、内存卡、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); 

     

    类型转换: 自动类型转换 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。 转换从低级到高级。 低  ------------------------------------>  高 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。

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

    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"); }
    }

  • 相关阅读:
    Android中View绘制流程以及invalidate()等相关方法分析
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    servlet上传文件报错(一)
    白话经典算法系列之六 高速排序 高速搞定
    POJ1177+线段树+扫描线
    tensorflow compile
    算法编程题的心得体会
    算法编程题的心得体会
    标识变量的使用
    标识变量的使用
  • 原文地址:https://www.cnblogs.com/mrgaoyuan/p/7650693.html
Copyright © 2011-2022 走看看