zoukankan      html  css  js  c++  java
  • Java基础——数据类型

    Java中与C++的区别:

    1.Java中没有无符号类型。

    2.整型值和布尔值之间不能进行相互转换。

    3.Java中不区分变量的定义和声明。

      如:在C++中int i = 10;是一个定义,而extern int i;是一个声明。但是在Java中不区分 Java中必须对变量进行显示初始化。

    4.常量:在定义常量时,利用关键字**final** final double pi = 3.14;

    5.检测两个字符串是否相等:

      s.euqals(t) 相等返回true, 否则返回false;

      "hello".equals(greeting); 字符串常量也可以与字符串变量进行比较。

      忽略大小写:"Hello".equalsIgnoreCase("hello");

    6.求字符串的长度

      str.length()

    7.在一个源文件.java中,只能有一个public类,且声明为public的类名必须与源文件的名字一致。

      如源文件名为:helloworld.java

      public类应该为:public class helloworld{    }

    8.编译:javac.exe,编译完生成多个 .class字节码文件

      运行:java.exe

    9.API 是一个很好的工具

      也可以将自己写的类解析成文档形式,使得代码更加直观(说明书)

      javadoc -d madoc -author -version test1.java

    10.&与&& 的区别

    &:不管左边为true还是false,右边都会进行运算。

    &&:当左边为false时,右边不进行运算。(推荐使用)

    同理| 与||的区别也是如此。

    11.交换两个变量m, n的值:

    法一:提供中间变量(不再赘述)

    法二:m = m + n;

       n = m - n;

       m = m - n;

    法三:位运算符

      m = m ^ n;

      n = m ^ n; 类似于(m^n)^n = m

      m = m ^ n;类似于(m^n)^m = n

    12.进制间的转换(转换为16进制):

      (1).自动调用Integer类现成的方法

      int i = 60;

      String binary = Integer.toBinaryString(i);  //111100

      String hex = Integer.toHexString(i);         //3c

      (2).手动计算:

      利用与运算,令i&15得到最低四位   int j = i & 15;  

                      String k1 = (j <= 9)? j + "" : (char)(j - 10 + 'a')  + "";

             i = i >>4 将i右移4为

             int z = i & 15;  //继续进行高四位

             String k2 = (z <= 9)? j + "" : (char)(z - 10 + 'a')  + "";

            拼接起来 String res = k1 + k2;

    13.Java中声明数组时,不能指定其长度

      int a[];

      double[] b;

      []在前边,后边都可以

      初始化:

        动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行

    int[] arr = new int[3]; 
    arr[0] = 3;
    arr[1] = 6;
    arr[2] = 9;

        静态初始化:在定义数组的同时就为数组元素分配空间并赋值

    int a[] = new int{3, 6, 9};
    int[] b = {1, 2 , 3};
    int dates[] = {new int(1, 2, 3), new int(4, 5, 6), new int(7, 8, 9)};//初始化二维数组

    注:无论是动态初始化还是静态初始化,在使用之前都知道数组的大小

    二维数组:

      方式一:int[][] arr = new int[3][2]; int[] arr[] = new int[3][4];

      方式二:int[][] arr = new int[3][];

          arr[0] = new int[5];

          arr[1] = new int[2];

          arr[2] = new int[3];

      也可以先 int[][] arr;

      错误方式一:arr = new int[][];

          二:arr = new int[][2];

      二维数组的内存结构:

        

    14. 基本类型的初始化:

      对于基本数据类型的变量创建的数组:byte, short, int, long, float, double, char, boolean
        1).byte, short, int, long,创建数组后,默认值为0
        2).float, double,创建数组后,默认值为0.0
        3).char,创建数组后,默认值为空格
        4).boolean,创建数组后,默认值为false(注意,boolean中没有null)
        5).对于引用类型的变量构成的数组,默认值为null,String就是,自己定义的class也是null

    15.栈:存放局部变量、对象的引用

      堆:new出来的东西

      方法区:常量池

      静态域:

    当声明一个数组时,所做的事情

  • 相关阅读:
    媒介管理系统权限设计方案
    document.ready和window.onload区别,顺带jQuery的ready方法
    nvm管理node版本
    async await一些小结
    Git学习
    详解JavaScript中的正则表达式
    JavaScript中的事件循环机制跟函数柯里化
    前端面试遇到的问题
    ES6在工作中会用到的核心知识点讲解
    JavaScript中的事件委托机制跟深浅拷贝
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/7764949.html
Copyright © 2011-2022 走看看