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 ...
随机推荐
- centos7安装nginx 报./configure: error: C compiler cc is not found
CentOS 7 下 安装 nginx 执行配置命令 ./configure 时提示以下错误: 解决: 执行以下命令: yum -y install gcc gcc-c++ autoconf auto ...
- tls 流量画像——直接使用图像处理的思路探索,待进一步观察
代码,示意了一个tls的数据内容: import numpy as np import matplotlib.pyplot as pyplot # !!! If on the server, use ...
- 小程序util工具
import wafer from '../lib/wafer2-client-sdk' import tip from './tip' // 时间格式化 const formatTime = tim ...
- dynamic load jar and init spring
public class SpringLoader { private Map<String, Class<?>> classMap = new HashMap<> ...
- install sz rz linux
1◆ ready 2◆ controller component Xshell 注册码:690313-111999-999313 Xftp 注册码:101210-450789-147200 3 ...
- JQuery进度条
需要实现效果如下图. 页面代码<div class='progress_bar' data-color='#f66' data-per='"+list[i].percent+" ...
- mysql 如何在访问某张数据表按照某个字段分类输出
也许大家有时候会遇到需要将把数据库中的某张表的数据按照该表的某个字段分类输出,比如一张数据表area如下 我们需要将里面的area按照serialize字段进行分类输出,比如这种形式: areas ...
- nyoj-0469-擅长排列的小明 II(找规律)
nyoj-0469-擅长排列的小明 II 思路:递推分析:为了简便起见,我们用Ai代表第i个数字 , 由于A1一直是1,所以A2只能是2或3.假设dp[n]表示1->n这个序列的方案数 ...
- Vue + Element UI 实现权限管理系统(搭建开发环境)
技术基础 开发之前,请先熟悉下面的4个文档 vue.js2.0中文, 优秀的JS框架 vue-router, vue.js 配套路由 vuex,vue.js 应用状态管理库 Element,饿了么提供 ...
- eclipse package视图和navigator视图的区别
package视图是适合开发的视图,因为开发时我们只关注源文件,并不关注编译后的二进制文,所有在该视图中存放二进制文件的classes文件被隐藏了,而navigator视图,就是项目在工作空间中存放的 ...