百木园-与人分享,
就是让自己快乐。

基本数据类型-java学习日记

1.不同进制的数据组成
二进制: 由0,1组成。以0b开头
  八进制: 由0,1,…7组成。以0开头
十进制:由0,1,…9组成。整数默认是十进制
十六进制: 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
 
2.数据类型面试题
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
  哪句是编译失败的呢?为什么呢?
第二句编译失败,b1、b2在运算时数据类型会提升到int类型,运算之后的结果也是int,不能直接赋值给btye类型变量,必须强转
第三句常量在运算的时候,运算结果会根据要赋值的变量类型自动切换(前提是数据在有效范围内)
 
3.位运算符面试题
请用最有效率的方式写出计算2乘以8的结果 2>>3
请自己实现两个整数变量的交换 a=a^b b=a^b a=a^b
 
4.变量
  概念:
  内存中的一个存储区域,变量的值可以在同一类型范围内不断变化,变量是程序中最基本的存储单元。(包含变量类型、变量名和存储的值)
  作用:
  用于在内存中保存数据
  注意事项:
  java中的变量必须先声明后使用。
  使用变量名来访问这块区域的数据
  变量的作用域:其定义所在的一对{ }内
  变量只有在其作用域内才有效
  同一个作用域内,不能定义重名的变量
 
  分类-按数据类型
    0
  补充:变量的分类,按声明的位置不同
  在方法体外,类体内声明的变量称为成员变量
  在方法体内部声明的变量称为局部变量
    0
 
5.整数类型:byte、short、int、long
  java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
  java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
0
  bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。

 //定义变量的语句格式
        //数据类型 变量名 = 初始化值;

        //定义一个byte类型的变量
        byte b = 10;
        System.out.println(b);
        System.out.println(10);

        //定义一个short类型的变量
        short s = 100;
        System.out.println(s);

        //定义一个int类型的变量
        int i = 1000;
        System.out.println(i);

        //数值超过了int类型可接收范围,要使用更大的数据类型去接收
//        int i1 = 100000000000;
        long l = 100000000000L;
        System.out.println(l);
        long l2 = 100L;
        System.out.println(l2);

 

6.浮点类型:float、double
  float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
  double:双精度,精度是float的两倍。通常采用此类型。
  Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
  0

//定义一个float类型的变量
float f = 12.34F;
System.out.println(f);

//定义一个double类型的数据
double d = 23.45;
System.out.println(d);

 

7.字符类型:char
  char 型数据用来表示通常意义上“字符”(2字节)
  Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
  字符变量的三种表现形式:
  字符常量用单引号(‘ ’)括起来的单个字符。例如:char c1 = \'a\'; char c2 = \'中\'; char c3 = \'9\';
  Java中还允许使用转义字符‘\\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\\n’; // \'\\n\'表示换行符
  直接使用 Unicode 值来表示字符型常量:‘\\uXXXX’。其中,XXXX代表 一个十六进制整数。如:\\u000a 表示 \\n。
  char类型是可以进行运算的。因为它都对应有Unicode码。
  

//定义一个字符类型的变量
char c = \'a\';
System.out.println(c);//a

8.布尔类型:boolean
boolean 类型用来判断逻辑条件,一般用于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
boolean类型数据只允许取值true和false,无null

//定义一个布尔类型的变量
boolean b2 = true;
boolean b3 = false;
System.out.println(b2);//true
System.out.println(b3);//false

 

9.基本数据类型转换
自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容
量大小排序为:
0
 
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
boolean类型不能与其它数据类型运算。
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类 型的值将自动转化为字符串(String)类型。

//需求:求出3+4的值
    System.out.println(3 + 4);//直接打印3+4的结果
---------------
// 用变量的形式去做
    int a = 3;
    int b = 4;
    int c = a + b;
    System.out.println(c);//7
----------------
 // 定义一个byte类型的数据,一个int类型的数据,做加法
    byte a = 3;
    int b = 4;
    int c = a + b;
    System.out.println(c);//7
    
    byte a = 3;    
    int b = 4;
    byte c = (byte) (a + b);//强转成byte数据,不建议,可能会导致数据丢失
    System.out.println(c);//7
    
-------------------
定义一个int类型数据,一个double类型数据,做减法
int a2 = 100;
double d2 = 12.34;
double d3 = a2 - d2;
System.out.println(d3);//87.66
int a3 = (int)(a2-d2);//强转int类型数据,数据丢失
System.out.println(a3);//87

 

思考题

public class DataTypeDemo5 {
    public static void main(String[] args) {
//思考题1:请问下面代码有没有问题,如果有,怎么改?
        //小数默认就是double类型
        double d = 12.345;
        //float类型所占大小比double要小,需要强制类型转换,可能会损失精度
        float f = (float) d;
 //思考题2:下面两个代码有什么区别呢?
        // f1其实是由double类型的数据做强制类型转换得来的,可能会损失精度
        float f1 = (float)12.345;
        //f2接收的数据实际上本身就是一个float类型的数据,不存在会损失精度的问题
        float f2 = 12.345f;

 

 
 


来源:https://www.cnblogs.com/FlyingOstrich/p/16069289.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 基本数据类型-java学习日记

相关推荐

  • 暂无文章