文档章节

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

潭州学院
 潭州学院
发布于 2015/06/05 19:31
字数 1775
阅读 201
收藏 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? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
11/15
131
0
给Java新手的一些建议——Java知识点归纳(Java基础部分)

  写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,...

Java工程师-10
2017/05/24
509
2
一份关于 Java、Kotlin 与 Android 的学习笔记

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

叶应是叶
08/08
0
0
大数据开发培训:0基础学习Java编程语言有哪些知识点?

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

加米谷大数据
07/25
0
0
BAT等大厂Android面试书单和知识点清单

java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比...

android自学
07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
21分钟前
1
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
44分钟前
4
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
今天
5
0
分布式Session共享解决方案

分布式Session一致性? 说白了就是服务器集群Session共享的问题 Session的作用? Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。 客户端在第一次访...

Java干货分享
今天
10
0
开源软件和开源模式面临的生存危机

导读 开源模式可能正面临一场危机。越来越多的开源软件和平台被大型云计算服务商融入自家的云服务体系,并以此获利颇丰,但并不支付费用,也没有对开源社区做出相应的回馈。而实际上,大部分...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部