JAVA基础部分复习(一、8中基础类型,以及String相关内容)
以下是关于java中8种基本类型的介绍说明:
package cn.review.day01;
/**
* java基础复习,8种数据类型
* (byte,short,long,int,double,float,boolean,char)
* @author dyq
*
*/
public class JavaBase01 {
public static void main(String[] args) {
/**
* 整数类型 byte,short,int,long
* byte范围:-128~127,1个字节
* short范围:-2的15次方~2的15次方-1,2个字节
* int范围:-2的31次方~2的31次方-1,4个字节
* long范围:-2的63次方~2的63次方-1,8个字节,声明方式一般后缀加L;
* 以下为一般申明方式
*/
byte b = 127;
System.out.println(b);
short s = 123;
System.out.println(s);
int i = 10;
System.out.println(i);
long l = 100000000L;
System.out.println(l);
/**
* 浮点型
* float范围:10的-38次方到10的38次方,4个字节,声明方式必须后缀加f
* double范围:10的-308次方到10的308次方,8个字节
*/
float f = -4.23f;
double d = 4.23;
/**
* 布尔类型:boolean
*/
boolean bool = true;
System.out.println(bool);
/**
* 字符类型
* char:使用单引号括起来,2个字节
*/
char c = 'a';
System.out.println(c); }
}
关于String,StringBuffer,StringBuilder的相关介绍以及区别说明:
package cn.review.day01; /**
* String,StringBuffer,StringBuilder的介绍
* 三者的区别:
* 1.执行速度方面:StringBuilder>StringBuffer>String
* 2.StringBuilder是线程不安全的,而StringBuffer是线程安全的
*
* 使用场景:
* String适用于少量字符串操作的情况下
* StringBuilder适用于单线程情况小,在字符缓存区进行大量操作的情况下。
* StringBuffer适用于在多线程的情况下,在字符缓存区进行大量操作的情况下。
* @author dyq
*
*/
public class JavaBase02String {
public static void main(String[] args) {
/**
* String为字符常量,长度不可变,不可变常量是线程安全的。
* String类型比较不同对象内容是否相同,应该用equals,因为==用于比较引用类型和比较基本数据类型时具有不同的功能。
* 如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
* 如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
*/
String a = "aaa";
System.out.println(a);
String str1 = "aaab";
String str2 = a+"b";
System.out.println(str1==str2);//false
System.out.println(str1.equals(str2));//true /**
* StringBuffer为字符串变量,查看源码发现其方法都使用synchronized关键字修饰,所以为线程安全的。
*
* 例如源码: @Override
* public synchronized StringBuffer append(String str) {
* toStringCache = null;
* super.append(str);
* return this;
* }
*/
StringBuffer sbf = new StringBuffer();
sbf.append("aaa");
System.out.println(sbf);
/**
* StringBuilder为字符串变量,查看源码发现其方法没有使用synchronized关键字修饰,所以为线程不安全的。
* 例如源码:
* @Override
* public StringBuilder append(String str) {
* super.append(str);
* return this;
* }
*/
StringBuilder sbu = new StringBuilder();
sbu.append("aaa");
System.out.println(sbu); }
}
JAVA基础部分复习(一、8中基础类型,以及String相关内容)的更多相关文章
- java高级用法之:在JNA中使用类型映射
目录 简介 类型映射的本质 TypeMapper NativeMapped 总结 简介 JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比较简 ...
- 自己挖的坑自己填--Mybatis mapper文件if标签中number类型及String类型的坑
1.现象描述 (1)使用 Mybatis 在进行数据更新时,大部分时候update语句都需要通过动态SQL进行拼接.在其中,if标签中经常会有 xxx !='' 这种判断,若 number 类型的字段 ...
- 关于Java中基本类型的长度相关基础知识
1. 用HeapByteBuffer放int占几个byte? 占4个.而且不论你是放1还是-1还是0xffff. 因为int的长度是4个byte,HeapByteBuffer的存储又是byte数组. ...
- Java基础(33):StringBuilder的方法与应用实例(String相关类)
Java 中的 StringBuilder 类的常用方法 重要的事情说三遍: 在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高 在需要频繁对字符串进行修改 ...
- 【Java学习笔记之八】JavaBean中布尔类型使用注意事项
JavaBean是一个标准,遵循标准的Bean是一个带有属性和getters/setters方法的Java类. JavaBean的定义很简单,但是还有有一些地方需要注意,例如Bean中含有boolea ...
- JAVA案例练习: 去除ArrayList中重复的字符串(字符串内容相同),去除重复的对象
package com.yqw.list; import java.util.ArrayList;import java.util.Iterator; public class Demo_ArrayL ...
- Java中Date类型与String 类型之间的互相转换
Java中String类型和Date类型之间的转换 我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需 ...
- Delphi中返回类型为string的函数的一个陷阱(不是很懂)
如果类的一个成员函数的返回值是string类型,需要注意一个问题 其返回值可能是错误的 例如函数的实现如下 function GetString( s: string ): string;begin ...
- JAVA 去除实体中类型为string的属性值中的空格
前端传入的参数实体中,有时候会出现传入了一空格,导致操作失败,这时就可以利用java反射机制去除实体中类型为sting的属性值中的空格. java代码示例: package com.spyang.ut ...
随机推荐
- jQuery滚屏插件XSwitch.js
1.需要有基本的HTML结构 <div style="margin-top: 124px;" id="container" data-XSwitch> ...
- js 时间戳转特定格式的日期
var Tools = {}; Tools.formatDate = function (fmt,timestamp) { if(timestamp){ var date = new Date(par ...
- Windows设置.txt文件默认打开程序
一.配置某个程序默认打开哪些类型的文件(以firefox为例) 依次打开”控制面板\程序\默认程序“,点击”设置默认程序“ 在右侧列表找到firefox,选中 以firefox为例,”将此程序设置为默 ...
- 关于TCP长连接和发送心跳的一些理解
原因 TCP是一种有连接的协议,但是这个连接并不是指有一条实际的电路,而是一种虚拟的电路.TCP的建立连接和断开连接都是通过发送数据实现的,也就是我们常说的三次握手.四次挥手.TCP两端保存了一种数据 ...
- JDK动态代理源码分析
先抛出一个问题,JDK的动态代理为什么不支持对实现类的代理,只支持接口的代理??? 首先来看一下如何使用JDK动态代理.JDK提供了Java.lang.reflect.Proxy类来实现动态代理的,可 ...
- Struts 2 初步入门(二)
Struts 2 动态方法调用 1.在HelloWorldAction中添加两个新的方法如下: import com.opensymphony.xwork2.ActionSupport; public ...
- 关于js的对象原型继承(一)
javascript中,对象的继承是通过原型去继承. 可以这样理解:js中的对象,包含的除了属性和方法,还有一个最基本的原型__proto__对象.这个原型__proto__指向谁,这个对象就继承谁. ...
- Map集合遍历的四种方式理解和简单使用-----不能for循环遍历
Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...
- 四:(之一和之二) docker架构和底层技术分析(C/S架构)
1.架构和底层技术 Docker Host提供了RESTUL api,使docker client可以通过这些命令调用dockerd. Registry是一个公用的存储镜像的容器,类似于github. ...
- relativeURL 相对URL的坑
我正在尝试实现一个使用RestKit的iOS应用程序.在我迄今为止看到的所有示例中,以下代码用于创建URL: NSURL *baseURL = [NSURL URLWithString:@" ...