• java基础(二):变量和数据类型


    1. java的基本数据类型

    java是一种强类型语言,每个变量都必须声明其类型。

    2.变量

    变量:一个数据存储空间的表示。

    不同数据存入具有不同 内存地址的空间,相互独立

    使用变量的步骤:

     变量命名规则:

     变量命名规范:

      通常第一个单词的首字母小写,其后单词的首字母大写。

     关键字/保留字:

    先声明变量并赋值,然后才能使用。

    int %hour = 18; 代码错误  ,变量名不能以%开始

    局部变量和实例变量

    局部变量:方法或语句块内部定义的变量 在使用前必须先声明和初始化(赋初值)。

    实例变量(成员变量): 方法外部、类的内部定义的变量 如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0 ,布尔型默认是false)  

    常量定义:

    使用关键字 final

    final double PI = 3.14;

    常量只能被初始化一次。

    命名规范

    •  所有变量,方法,类名:见名知意
    • 变量、方法名:
      • 首字母小写,和驼峰原则
    • 常量:大写字母和下划线:MAX_VALUE
    • 类名:首字母大写和驼峰原则

    java语言支持的运算符

     ^   按位异或 

    ~   取反

    >>>  无符号右移:忽略符号位,空位都以0补齐

    例如:4的2进制表示为  100

    >> 1 右移1位 二进制为 10 ,十进制为2

    << 1 左移1位,二进制为1000, 十进制为8

    >>> 1 无符号右移1位 二进制为  10 

    二元运算符类型提升:

    整数运算: 如果两个操作数有一个为Long, 则结果也为long 没有long时,结果为int。

    即使操作数全为shot,byte,结果也是int.

    浮点运算: 如果两个操作数有一个为double, 则结果为double. 只有两个操作数都是float, 则结果才为float.

    逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。

    字符串连接符

    “+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

    三目条件运算符

    语法格式: x ? y : z 

    自动类型转换:

    容量小的数据类型可以自动转换为容量大的数据类型。

    优化: 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

    例如:

    short b = 12; //合法

    short b = 1234567; //非法

     黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。

    自动类型转换规则:

    1.满足自动类型转换的条件 两种类型要兼容: 数值类型(整型和浮点型)互相兼容

    2.目标类型大于源类型: 例如:double 型大于 int 型

    强制类型转换

    又被称为造型,用于显式的转换一个数值的类型.

    在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出

    语法:

    (类型名)表达式

    int b = (int)10.2;

    小数格式化:

    import java.text.DecimalFormat
    double a = 2.3659874;
    //小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入)
    DecimalFormat df = new DecimalFormat("0.000");
    String num = df.format(a);
    System.out.println(num);
  • 相关阅读:
    LeetCode(123) Best Time to Buy and Sell Stock III
    LeetCode(122) Best Time to Buy and Sell Stock II
    LeetCode(147) Insertion Sort List
    360兼容模式不支持hidden属性的问题
    第一个博客,用来勉励自己,加油
    【LGR-059】洛谷7月月赛题解
    Codechef July Challenge 2019 Division 1题解
    AtCoder Grand Contest 035
    Comet OJ
    2019-7-3 感记
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12989581.html
Copyright © 2020-2023  润新知