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 ...
随机推荐
- 【转】Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对I ...
- ForkJoin
Java Fork/Join 框架 jdk1.8-ForkJoin框架剖析 Java的Fork/Join任务,你写对了吗? 概述 从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务 ...
- Linux 控制CPU使用率
曾经看过<编程之美>上提到说使 CPU的使用率固定在百分之多少.然后这次刚好要用到这个东西,下面是一个简单的实现.基于多线程: Linux 版本: #include <iostrea ...
- 基于Quartz.NET 实现可中断的任务(转)
Quartz.NET 是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET 允许开发人员根据时间间隔(或天)来调度作业.它实现了作 ...
- 蓝桥杯—BASIC-19 完美的代价(贪心)
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的. 现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串. 交换的定义 ...
- AdaBoost, LogitBoost and GradientBoosting
前向分步算法与加法模型(forward stagewise algorithm and additive model) (1) AdaBoost:前向分步算法中损失函数取指数损失函数 (2) Logi ...
- Android 音视频深入 三 MP4解码播放视频 (附源码下载)
本篇项目地址,名字是媒体解码MediaCodec,MediaExtractor,求starhttps://github.com/979451341/Audio-and-video-learning-m ...
- 计算机基础及发展 part2
一.为什么有操作系统? 一台电脑的基本设备是硬件,诸如:CPU.I/O设备.主存.显示器.打印机等等. 如果软件编程者需要参考如此多的硬件参数来进行编程的话,基本上就不可能再书写代码了. 那么为了有效 ...
- 【原创】QT 打印输出
list类 qDebug 的两种用法 #include <QDebug> int main(int argc,char *argv[]) { QList<int> list; ...
- C语言进度条实现。(转)
#include <stdio.h> #include <windows.h> //跟新进度条函数 /* * 每传入一个参数就刷新一次进度条 * 当i*<=percent ...