JAVA基础知识--数据类型和字符串

一、数据类型

1.java中,所有的数值类型所占的字节数量和平台无关,java中没有无符号类型

2.对于溢出的浮点型,用NaN表示。Double.isNaN(x)

3.char类型占2个字节

4.布尔类型不能与整数互相转换,避免了c++中if(x=3)的问题,若实在要转换可以用?:

5.&& || 会短路

6.两个操作数 如果有一个是double,则另一个将转成double

如果有一个是float,则另一个将转成float

如果有一个是long,则另一个将转成long;否则都是int

二、字符串

1.java字符串就是Unicode字符序列。

2.1 String类对象是不可变字符串,可以修改字符串变量,让它引用到另外一个字符串。

优点:编译器可以让字符串共享,各种字符串在公共存储池中。只有字符串常量是共享的,而+或者substring等操作产生的结果是不能共享的;

equals比较内容,而==只比较位置

2.2 常用api:

charAt()、compareTo() endWith() equals() equalsIgnoreCase() indexOf()

lastIndexOf() length() replace() substring() toLowerCase() toUpperCase() trim()

3.构建字符串

StringBuilder效率高,适用于单线程

StringBuffer 效率低,适用于多线程

4.Scanner

Scanner(InputStream in) Scanner(new File()) Scanner(String str)

nextLine()行 next()词 nextInt() nextDouble() hasNext()

PrintWriter(File f) 构造一个写入文件的PrintWriter

四、数组

1.Array.copyOf(oldArray,length)常用来扩容,数组分配在堆上。

2.Array.toString(type[] a)

3.Array.sort() binarySearch() fill()

时间: 2024-12-21 16:24:47

JAVA基础知识--数据类型和字符串的相关文章

java基础知识 数据类型

基本数据类型 基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte.short.int.long.float.double. JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变. 对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了. 默认值均为0,boolean类型默认值为false,但其占用字节数未知. 基本类型:byte 二进制位数:8 包装类:java

Java基础知识-数组与字符串

数组 声明 类型[] 数组名//建议使用 类型 数组名[] 数组声明后不会分配内存,必须new 数组名 = new 类型[大小] e.g. int [] arr = new int[8]; 使用 数组下标从0开始 赋值 数组名[下标]=数据 e.g. arr[5]=8; 访问 数组名[下标] e.g. System.out.println(arr[5]); 初始化 动态初始化 先声明,再赋值 静态初始化 声明的同时赋值:类型[] 数组名 = {数据1, 数据2, 数据3,-} e.g. int[

Java基础知识(一)——数据类型、运算符、结构

Java基础知识--数据类型.运算符.结构 在Java语言(强类型语言:先声明,后使用.只能接受与之类型匹配的值)里,除了8个基本数据类型之外,一切都是对象. 对象时Java程序的核心,所以Java里的对象具有唯一性,每个对象都有标识来引用它,如果某个对象失去了标识,这个对象将变为垃圾. Java语言不允许直接访问对象,而是通过对象的引用来操作对象. 对象具有状态,一个对象用数据值来描述他的状态.Java通过定义成员变量来描述对象的状态. 对象还有操作,这些操作可以改变对象的状态.对象的操作也被

java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”

/*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符.但对应的字节数不同,一个汉字占两个字节.定义一个方法,按照最大的字节数来取子串.如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃.如果去四个字节就是“ab你”,取五个字节还是“ab你”.*/ 代码:其实是一个解码和编码的问题,要明白UTF-8码表和GBK码表的区别,UTF-8中用三个字节代表一个汉字,GBK使用2个字节代表一个汉字. 且在码表中都是用数字存放这些汉字.

java基础知识回顾之---java String final类普通方法的应用之字符串数组排序

/* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz","qq","haha"} *  * 思路: * 1,对数组排序.可以用选择,冒泡都行. * 2,for嵌套和比较以及换位. * 3,问题:以前排的是整数,比较用的比较运算符,可是现在是字符串对象. *   字符串对象怎么比较呢?爽了,对象中提供了用于字符串对象比较的功能

java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”

/* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空格的角标.不断--. * 2,判断到不是空格为止,取头尾之间的字符串即可. *  *  使用char charAt(int index);方法根据index索引,取出字符串 *  使用String substring(int beginIndex, int endIndex)//包含begin 不包

java基础知识回顾之---java String final类普通方法的应用之“两个字符串中最大相同的子串”

/* * 3,两个字符串中最大相同的子串. * "qwerabcdtyuiop" * "xcabcdvbn" *  * 思路: * 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中. *   如果存在,短的那个字符串就是最大子串. * 2,如果不是呢,那么就将短的那个子串进行长度递减的方式取子串,去长串中判断是否存在. *   如果存在就已找到,就不用在找了. * 3.先找最大的子串,再递减子串找,找到,就停止 */ 原理图如图: 代码: publi

6-12 JAVA基础知识1

声明:学习时是参考<JAVA开发实战经典>,李兴华编,清华大学出版社 (1)public class 类名称必须与文件名一致: (2)类名称每个单词首字母必须大写: (3)输出中使用"+"进行连接: (4)文档注释:/**--*/ (具体作用还未知,待后续补充编辑): (5)数据类型分为基本数据类型和引用数据类型.其中引用数据类型主要用于地址操作,包括类,接口,数组: (6)避免数据溢出的两种方法.1.如变量前加(long)强制转换:2.表达式的常量后加L变为long型:

java基础知识小小结

java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程序的文件名就可以随意命名了. 文档注释,是以单斜线加两个星形标记( /**)开头,并以一个星形标记加单斜线( */)结束.用这种方法注释的内容会被解释成程序的正式文档,并能包含进如 javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法. Java 把整数常量的数据类型均视为 int