zoukankan      html  css  js  c++  java
  • java基础2---属性

    第一节、变量(属性的组成一)

    一、变量的概念:

    变量是一个代名词,指代在内存中开辟的存储空间,

    注:存储空间用于存放运算过程中需要用到的数据

    注:方便理解,变量是山西省这个名字;存储空间就是山西省这个占用空间;值就是山西省的人、植物等;

    二、变量的使用

    1、变量的声明

    (1)声明内容

    变量的声明包含两点:变量名和数据类型;

    (2)声明效果

    声明后,JVM会为该变量在内存中开辟存储空间,不同的变量类型决定了存储空间的结构;

    (3)注意事项

    (a)未经声明的变量不能使用,否则会报编译异常

    (b)一条语句可以声明多个同类型变量

    int a=1, b=2;

    int c, d=3;

    (c)变量的值和类型必须对应;

    2、变量的命名规范

    (1)能:由字母、数字、“_”或“$”符组成

    (2)不能:

        不能以数字开头;

        不能是java保留字(一些Java语言规定好的,有特殊含义的字符),如:int、if、else、for、break等

    (3)建议:中文可以作为变量名,但不提倡使用。

    (3)注意:Java大小写敏感,即:严格区分大小写,在给变量声明和使用保持一致。

    3、变量的初始化

    (1)初始化方式

    (a)在声明时候初始化(注:局部变量一定是需要这样的)

    (b)在声明后,第一次使用前初始化

    (c)类加载的时候,给与默认初始化值

    int类型变量默认初始值为0
    float类型变量默认初始值为0.0f
    double类型变量默认初始值为0.0
    boolean类型变量默认初始值为false
    char类型变量默认初始值为0(ASCII码)
    long类型变量默认初始值为0

    所有对象引用类型变量默认初始值为null

    成员有两种特殊的类型,static属性与instance属性,初始化的时机是不同的。instance属性在创建实例的时候初始化,static属性在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化

    (2)初始化注意事项

    (a)未经初始化的变量的使用(局部的不能,成员的可以)

    4、变量的操作

    (1)概述

    变量的操作就是对所存储数的操作;

    (2)种类

    (a)运算操作:注意值必须和类型匹配

    (b)输出操作:

    (c)初始化:

    (d)声明

    第二节、基本数据类型(属性的组成二.1)

    一、数据类型简介

    1、概念

    JVM会为该变量在内存中开辟存储空间,不同的数据类型决定了该存储空间的结构和存储大小;从而有效管理存储空间;

    数据类型就相当于省---市---县—乡等不同类型;

    2、种类

    基本数据类型和引用数据类型两种;

    3、数据类型和数据结构的区别(为了记忆自己想的,没有验证)

    基本数据类型是原子

    数据结构是分子

    二、基本数据类型简介

    1、种类

    基本数据类型主要分为4大类 (整数类型、浮点类型、char、boolean);

     整数类型又分为了4小类(byte、short、int、long);

    浮点类型也分了2小类(float、double),

    最常用的有5种,分别为int、long、double、char、boolean   

    2、boolean类型

    2.1概述

    boolean类型适用于关系、逻辑运算, 表示某个条件是否成立;true表示条件成立, 而false表示条件不成立。

    2.2使用

    2.2.1使用一:赋值

    (1)直接用英文字母true或false

    (2)关系运算的结果,所谓关系运算就是比较两个变量的大小相等等关系

    2.2.2使用二:输出

    (1)输出变量的结果是false或者true

    3、int

    3.1、概述

    int是最常用的整数类型,一个int类型的变量占用4个字节,即32位的内存空间。Int的最大表示范围为:-231~231-1,即-2147483648 ~2147483647,大约正负21个亿多些

    3.2、整数直接量是int类型

    3.2.1概述

    所谓整数直接量(literal)就是直接写出的整数,例如:下面的语句中,100就是直接量。 int a=100;

    3.3、使用

    3.3.1使用一(赋值)

    (1)超出范围:

    整数的直接量的类型默认为int类型,如果直接写出的整数超过了int的表达范围,将会出现编译错误,下面的语句,就是因为超出了整数的范围而导致的编译错误。 copytextpop-up

    int d = 10000000000; // 编译错误10000000000这个数值写出来就是错误的,因为Java认为所有直接写出的整数都是int类型,而这个数值超过了int的表达范围。

    (2)直接量类型:

    除了通常的十进制数字形式,整数直接量也可以写成16进制的形式(以0X或0x开头)或8进制的形式(以0开头)或者一个字符,请看如下直接量四种表现形式:copytextpop-up

    int a = 100000; // 10进制

    int b = 0x186a0; // 16进制

    int c = 0303240; // 8进制

    int d = ‘d’;//字符:输出是字符对于的unicode编码的十进制;

    3.3.2使用二:除法取整

    若对两个整数相除,会舍弃小数的部分(注意:不是四舍五入),结果也是整数。

    3.3.3使用三:运算溢出

    当两个整数进行运算时, 其结果可能会超过整数的范围而发生溢出,正数过大而产生的溢出,结果为负数;负数过大而产生的溢出,结果为正数

    3.3.4使用四:sysout输出

    不管值是什么,输出都是int类型的10进制;

    4、Long类型

    4.1概述

    在表示整数时,如果int类型的范围不够,可以使用long类型,一个long型的变量占用8个字节(即64位),最大表示范围为:-263 ~ 263-1,即 -9223372036854775808 ~ 9223372036854775807

    4.2使用

    对于较大的整数运算(超过int的表达范围),可以使用long型

    4.2.1赋值

    值后面必须加l或者L,不能虽然类型是long,但是值是int;

    值超过int类型,会报溢出;

    4.3应用

    JDK提供 System.currentTimeMillis() 方法,返回1970年1月1日零点到此时此刻所经历的毫秒数,数据太大,故其数据类型为long

    long time = System.currentTimeMillis();

    5、Double类型

    5.1概述

    double类型的精度值是float类型的两倍,因此而得名双精度;大多数场合使用double表示浮点数

    5.2使用

    5.2.1赋值---浮点数直接量是double类型

    书写方式:浮点数的直接量有两种写法:

    1)通常写法,如:3.14、314、0.1、.5。

    2)科学计数法,如:1.25E2、1.25e2、1.25E-2。其中,1.25E2表示1.25乘以10的2次方。

    注:如果类型是float:如果需要表示float类型的直接量,需要加“f”或“F”后缀;

    例如float f1 = 3.14   //编译错误,应该写成3.14f;

    5.2.2运算

    问题:double运算时会出现舍入误差

    原因:2进制系统中无法精确的表示1/10,就好像十进制系统中无法精确的表示1/3一样

    解决方案:如果需要精确的运算可以考虑放弃使用double或float而采用BigDecimal 类来实现;

    6、Char

    6.1概述

    字符类型char:事实上是一个16位无符号整数(short类型的正数)

    char型变量存放的值:其实就是这个两字节的short类型的编号

    char显示的内容:这个编码类似于字符点阵的身份证号;对应这个编码找到字符点阵去显示这个点阵,显示出来后即这个字符

    注:Java字符类型采用Unicode字符集编码(通用码、统一码、万国码),而Unicode是世界通用的定长字符集,所有的字符都是16位来表示

    注:字符点阵:字符是字母、数字、汉字图形、特殊符号这样的字符,计算机显示字符是用点阵的形式显示的,每一个字符都对应一个自己的点阵,所有字符的点阵数据都存放在字库中;

    6.2使用

    6.2.1使用一:赋值

    (1)字符直接量:形如‘A’或者’中’,变量中实际存储的是该字符的Unicode编码(无符号整数值),一个char型变量只能存储一个字符;

    注:空白字符:空白字符包括:空格、tab键、换行

    注:特殊字符:想表示回车、换行符时、单引号等?对于不方便输出的字符可以采用转义字符来表示;char c = '\'; System.out.println(c); //输出的结果为:

    (2)整型直接量:范围在0~65535之间的整数,变量中实际存储的即该整数值,但表示的是该整数值所对应的Unicode字符。

    (3)Unicode形式:形如‘u0041’,Unicode字符的16进制形式

    6.2.2使用二:运算

    对char类型字符运行时,实际上将他的Unicode转换为十进制做运算;

    运算类型:

    (1)字符和字符

    (2)字符和整数

    (3)整数和整数

    注:不能是字符和字符串,不然会报类型错误;字符串无法转换为字符;

    注:运算结果值需要在0~65535范围内

    6.2.3使用三:输出sysout

    (单个字符)          结果是单个字符

    (Unicode)            结果是单个字符

    (运算)                结果是int类型的整数;因为运算让short会转换为int类型;

    (运算后的变量)   结果是字符;

    三、基本类型间转换

    1、转换方式

    (1)自动类型转化(隐式类型转换):从小类型到大类型可以自动完成。

    Byte—short---int---long---float---double

    Char---int;

    应用:在一个表达式中出现了多种数据类型,则运算结果会自动的向较大的类型进行转化

    注意:int直接量可以直接赋值给byte、char和short,只要不超过其表示范围;

    (2)强制类型转换

    从大类型到小类型需要强制转换符

    语法:(需要转换成的类型)变量

    注:有可能会造成精度的损失或者溢出;为大类型的精度值大于小类型,取值范围大于小类型,所以,在使用强制转化时要求显式的告诉编译器,正在进行强制转换。

    四、Java数据类型在内存中的存储:面向对象的内存管理

     

    五、基本类型和引用类型作为参数传递:java基础里面的方法;

    向成为千里马奋斗,为伯乐打call;
  • 相关阅读:
    HTTP请求 GET POST 网络编程实现(转)
    较老版本 AFNetworking 使用心得
    优秀java开源项目与解决方案推荐与概论
    URL的格式scheme
    用MATLAB实现字符串分割
    matlab search path
    matlab中的字符串数组与函数调用
    全新重装win8.1系统后 配置开发及办公环境步骤
    html图片上下翻滚展示代码
    html目录树的操作
  • 原文地址:https://www.cnblogs.com/mhy666/p/mhy_java_jichu_shuxing.html
Copyright © 2011-2022 走看看