文档章节

【JAVA基础知识点总结】JAVA数据类型基础

潭州学院
 潭州学院
发布于 2015/06/05 19:31
字数 1775
阅读 199
收藏 6

   《Java基础知识点总结》这一栏目是对自己学JAVA的整个过程一个总结,把这些JAVA基础知识分享出来,给大家参考参考。

本文主讲JAVA数据类型基础,具体如下:

简单数据类型包括: 
  整型(Interger): byte, short, int, long
  浮点类型(Floating): float, double
  字符类型(Textual): char
  布尔类型(Logical): boolean

复合数据类型包括:
  class
  interface
  数组
  String

常量:
  用final. eg: final int NUM = 100;

变量:
  局部变量、类变量、方法参数、例外处理参数

简单数据间的优先数据关系:
  低-->高: byte,short,char->int->long->float->double

自动转换:
  运算中,不同类型数据运算将自动转换,从低级到高级

强制转换:
  高级数据要转换成低级数据,需强制转换
  eg: int i;
  byte b = (byte)i;

运算符:
  基本与c语言一致,实例运算符instanceof, 内存分配运算符new

复合语句:
  基本与c语言一致

例外处理语句:
  包括try, catch, finally, throw

数组:(简单数据类型与复合数据类型的差别)
  一维数组:
    1. 定义
      type intArray[];
      eg: int intArray[];
            Date dateArray[];
    2. 一位数组的初始化
      静态初始化:
        int intArray[] = {1, 2, 3, 4};
        String stringArray[] = {"abc", "How", "You"};
      动态初始化:
        简单类型的数组:
          int intArray[];
          intArray = new int[];
        复合类型的数组:
          String stringArray[];
          String stringArray = new String[3]; // 为数组中每个元素开辟引用
          stringArray[0] = new String("How"); // 开辟空间
          stringArray[1] = new String("are");
          stringArray[2] = new String("you");
    3. 一维数组的引用
      arrayName[index]
      arrayName.length属性指明数组的长度

  多维数组:
    1. 二维数组的定义:
      type arrayName[][];
      type [][]arrayName;
    2. 二维数组的初始化:
      静态初始化
        int intArray[][] = {{1, 2}, {2, 3}, {3, 4, 5}};
        java中, 把二维数组看成时数组的数组, 空间并不是连续的,并不要求每一维的大小相同
      动态初始化
        直接为每一维分配空间:
          arrayName = new type[arrayLength1][arrayLength2];
          int a[][] = new int[2][3];
        从最高维开始,分别为每一维分配空间:
          arrayName = new type[arrayLength1][];
          arrayName[0] = new type[arrayLength20];
          arrayName[1] = new type[arrayLength21];
          ...

          eg: int a[][] = new int[2][];
                a[0] = new int[3];
            a[1] = new int[5];
        二维复合数据类型数组,只能以此种方式
          eg: String s[][] = new String[2][];
            s[0] = new String[2]; // 为最高维分配引用空间
            s[1] = new String[2];
            s[0][0] = new String("Good"); //分配空间
            s[0][1] = new String("Luck");
            s[1][0] = new String("to");
            s[1][1] = new String("You");
    3. 二维数组的引用:
      arrayName[index1][index2]; eg: num[1][2];
    4. 二维数组举例

public class MatrixMultiply

{

  public static void main(String args[]) {

    int i, j, k;

    int a[][] = new int[2][3]; 

    int b[][] = {{1, 5, 2, 8}, {9, 5, 10, -3}, {2, 7, -5, -18}}; 

    int c[][] = new int[2][4]; 

    for (i = 0; i < 2; i++) 

      for (j = 0; j < 3; j++)

        a[i][j] = (i + 1) * (j + 2);

        for (i = 0; i < 2; i++) {

          for (j = 0; j < 4; j++) {

            c[i][j] = 0;

            for (k = 0; k < 3; k++)

              c[i][j] += a[i][k] * b[k][j];

           }

         }

    System.out.println("*********Matrix C***********");

    for (i = 0; i < 2; i++) {

      for (j = 0; j < 4; j++)

        System.out.println(c[i][j] + " ");

      System.out.println();

    }

  }

}

Java语言中,把字符串作为对象来处理,类String和StringBuffer都可以用来表示一个字符串。
  1. 字符串常量
    "Hello World"

  2. String表示字符串常量
    String(char chars[]); // 用字符数组初始化String
    String(char chars[], int startIndex, int numChars);
    String(byte ascii[], int hiByte);  // 用字节数组初始化String,hiByte表示高8位,一般为0
    String(byte ascii[], int hiByte, int startIndex, int numChars);

    使用不同方法生成"abc"
    char chars1[] = {'a', 'b', 'c'};
    char chars2[] = {'a', 'b', 'c', 'd', 'e'};
    String s1 = new String(chars1);
    String s2 = new String(chars2, 0, 3); // 取chars2[]的前三个字符

    byte ascii1[] = {97, 98, 99};
    byte ascii2[] = {97, 98, 99, 100, 101};
    String s3 = new String(ascii1, 0);
    String s4 = new String(ascii2, 0, 0, 3); //取前三个

  3. 用StringBuffer表示字符串
    StringBuffer(); // 分配16个字符串的缓冲区
    StringBuffer(int len); // 分配len个字符的缓冲区
    StringBuffer(String s); // 除了按照s的大小分配空间外,再分配16个字符的缓冲区

  4. 访问字符串
    类String提供了length() charAt() indexOf() lastIndexOf() getChars() getBytes() toCharArray()等方法
      public int length() 返回字符串的字符个数
      public char charAt(int index) 返回字符串中index位置上的字符,index范围:0--length-1

      public int indexOf(char ch) 返回字符ch在字符串中出现的第一个位置
      public int lastIndexOf(char ch) 返回字符ch在字符串中出现的最后一个位置

      public int indexOf(String str) 返回子串str在字符串中出现的第一个位置
      public int lastIndexOf(String str) 返回子串str在字符串中出现的最后一个位置

      public int indexOf(char ch, int fromIndex) 返回字符ch在字符串中fromIndex以后出现的第一个位置
      public int lastIndexOf(char ch, int fromIndex) 返回字符ch在字符串中fromIndex以后出现的最后一个位置

      public int indexOf(String str, int fromIndex) 返回子串str在字符串中fromIndex以后出现的第一个位置
      public int lastIndexOf(String str, int fromIndex) 返回子串str在字符串中fromIndex以后出现的最后一个位置

      public void getChars(int srcbegin, int end, char buf[], int dstbegin)
        srcbegin 要提取的第一个字符在源串中的位置
        end 要提取的最后一个字符在源串中的位置
        buf[] 目的字符串
        dstbigin 提取的字符串的在目的字符串中起始位置

      public void getBytes(int srcbegin, int serEnd, byte[] dst, int dstBegin)
      用法同上,只是为8位


    类StringBuffer提供了length() charAt() getChars() capacity()等方法
      capacity()用来得到资环穿缓冲区的容量,与length()方法所返回的值通常是不同的

  5. 修改字符串
    类String提供的方法 contat() replace() substring() toLowerCase() toUpperCase()
      public String contat(string str) 将当前字符串与str连接起来
      public String replace(char oldChar, char newChar); 将当前字符串中oldChar换成newChar

      public String substring(int beginIndex); 返回子串
      public String subString(int beginIndex, int endIndex);

      public String toLowerCase(); 把串中所有字符变成小写
      public String toUpperCase(); 把传中所有字符变成大写

    类StringBuffer提供的方法 append() insert() setCharAt() 
    若操作后的字符已超出分配的缓冲区,系统自动为它分配额外的空间
      public synchronized StringBuffer append(String str); 在当前字符串末尾添加一个字符串str
      public synchronized StringBuffer insert(int offset, String str); 在当前字符串的offset处,插入str
      public synchronized void setChatAt(int index, char ch); 设定指定index处的值

    String和StringBuffer的区别在于:String是对拷贝进行操作,而StringBuffer是直接对字符串操作

  6. 其他操作
    字符串比较
      String中的方法:
        equals()
        equalsIgnoreCase()
      这两个方法与'=='的区别:'=='只关心是否引用同一对象,此两种方法关心对应的字符是否相同

    字符串的转化
      java.lang.Object中提供了方法
        toString() 把对象转化为字符串

    '+'操作


PS:如遇上什么问题,请直接留言或者直接在群457036818提出,谢谢。


© 著作权归作者所有

共有 人打赏支持
潭州学院
粉丝 13
博文 23
码字总数 38387
作品 0
长沙
Java编程基础知识点和技术点归纳

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
05/23
0
0
大数据开发培训:0基础学习Java编程语言有哪些知识点?

Java 技术通用、高效、具有平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,学习Java首先要知道学习知识点有哪些。在这就用加米谷大数据培训...

加米谷大数据
07/25
0
0
【Java并发专题】27篇文章详细总结Java并发基础知识

努力的意义,就是,在以后的日子里,放眼望去全是自己喜欢的人和事! github:https://github.com/CL0610/Java-concurrency,欢迎题issue和Pull request。所有的文档都是自己亲自码的,如果觉...

你听___
05/06
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
08/08
0
0
跳槽时,这些Java面试题99%会被问到

我在 Oracle 已经工作了近 7 年,面试过从初级到非常资深的Java工程师,且由于 Java 组工作任务的特点,我非常注重面试者的计算机科学基础和编程语言的理解深度,可以不要求面试者非要精通 ...

Java小铺
08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

window.parent,top,window.self,parent,opener

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。 wind...

inidcard
5分钟前
1
0
Linux下Redis的安装和部署

一、Redis介绍 Redis是当前比较热门的NOSQL系统之一 它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set...

曾大大胖
9分钟前
1
0
开源堡垒机jumpserver搭建

概述 之前说了国产良心kodexplorer,今天再说一个国内比较好的开源项目jumpserver,除此之外还可以的国内开源项目我觉得就是宝塔面板了。废话不多说上教程搭建。 虽然说你可以看下面的教程不...

bboysoulcn
14分钟前
1
0
iPhoneX 底部距离

iPhoneX 底部距离 CGFloat adjust = 0; if (@available(iOS 11.0, *)) { //Account for possible notch UIEdgeInsets safeArea = [[UIApplication sharedApplication] keyWindow].safeAreaIn......

壹峰
18分钟前
2
0
养生篇01 (饭水分离法)

作者简介❤李祥文,1939年出生于韩国庆尚北道尚州市成昌邑。 24岁时,偶遇奇人习得这种分别喝水吃饭的养生方法,从而治好了自己的胃病和哮喘。从此,李祥文对饮食之于人体的影响产生了极大的...

十九亿少女的梦
34分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部