zoukankan      html  css  js  c++  java
  • 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");
    }

    }

  • 相关阅读:
    Django对静态文件的处理——部署阶段
    使用Django来处理对于静态文件的请求
    Django1.7如何配置静态资源访问
    Spring WebSocket中403错误解决
    FastJSON JSONObject 字段排序 Feature.OrderedField
    国际化(i18n) 各国语言缩写
    【转】java.io.Closeable接口
    【转】spring bean 卸载
    This content should also be served over HTTPS
    Failed to close the ServletOutputStream connection cleanly, Broken pipe
  • 原文地址:https://www.cnblogs.com/java-123/p/7518376.html
Copyright © 2011-2022 走看看