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 ...
随机推荐
- 梯度下降法的三种形式BGD、SGD以及MBGD
https://www.cnblogs.com/maybe2030/p/5089753.html 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...
- MyBatis Spring整合配置映射接口类与映射xml文件
本文转自http://blog.csdn.net/zht666/article/details/38706083 Spring整合MyBatis使用到了mybatis-spring,在配置mybati ...
- 部署Linux项目
部署Linux项目 1● 下载软件 ftp 安装 2● 创建连接 3● java项目 gunzip –c *.gz tar –xzf *.gz rm –rf rm -r ...
- jquery for&&each的用法
var arr=['姚明','易建联','张继科']: each&&for用法 $.each(arr,function(index,value){ document.write(ind ...
- Linux command parted
Linux command parted [Purpose] Learning linux command parted to manipulate disk partitions ...
- js 小说格式整理
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- bzoj2055
题解: 似乎是放在费用流里的 然而是有上下界的网络流QAQ 代码: #include<bits/stdc++.h> using namespace std; ; int n,m,x,min ...
- 读书笔记 C#委托的BeginInvoke、EndInvoke之浅析
c#中有一种类型叫委托,它是一种引用类型.可以引用静态与非静态的方法,且这些方法的参数列表和返回值类型必须与所声明的委托一致. 委托引用的方法可以通过BeginInvoke和EndInvoke来异步进 ...
- urllib 获取页面或发送信息
#! /usr/bin/env python3 # -*- coding:utf-8 -*- #urllib提供了一系列用于操作URL的功能. #urllib的request模块可以非常方便地抓取UR ...
- JavaWeb基础-Jsp基础语法
jsp基础语法 JSP的组成 静态内容.指令.表达式.小脚本.声明.注释 JSP的生命周期 用户发出index.jsp ,服务端判断是否是第一次请求,若是第一次请求,则tomcat中的JSP引擎中的文 ...