年后回来又换工作了,面试了几家因为没有太多做准备,在一些基础问题上卡了壳,这是一个比较闹心的问题。
工作的时候往往有一些是接触不到的问题,但是偏偏又很重要也很基本。
所以趁着还没有开始下一份工作的这段时间快速的把java基础、数据接口、算法什么的串一遍,由于是想到什么写什么所以可能不那么有逻辑性。
那么废话不多说直接上代码,知识点都在注释里面了。
/**
* @author frozen cloud
* @Java的数据类型分为基础数据类型和引用类型。
* @基本数据类型包括四类八种: 整型:byte、short、int、long
*浮点型:float、double 逻辑型:boolean 字符型:char
* @每种基本类型都有对应的引用类型
*/
public class BaseDataType {
// 常量的定义
final int i2 = 123;// 常量用final关键字修饰
final float f2 = 1.23f;
// 基本类型变量的声明和初始化
byte by = 8; // byte占8位,即最大值为2的7次方减1,下类似
short s = 18; // short占16位
int i = 188; // int占32位
long l = 1888; // long占64位
float f = 1888.888f;// 浮点型默认为double型,所以float后必须有f或者F,否则报错
double d = 1888.111;
boolean b = false; // 布尔型值只有true或者false,在关系运算中返回值都是布尔值
char c1 = 123;
char c2 = '\u1122';// 用字符的编码值来初始化
char c3 = 'c';
// 多个变量同时声明
int j, p, q;
public static void main(String[] args) {
// 数据类型转换
// 同类别的不同种数据类型可以通过强制转换完成。
// 不同类别的每一个基本数据类型都对应一个应用类型,使用parseXXX()方法即可完成转换
String num = "12345.3434";
float f3 = Float.parseFloat(num);
int i = 123;
short s = (short) i;// 高精度的int型被转换为低精度的short型,会造成精度丢失
double d = i;// 低精度可以直接赋值给高精度
char c = (char) i;
// 引用类型
String abc = "123";
Byte b1 = new Byte(abc);
Short s2 = Short.valueOf(abc);
Integer it = Integer.valueOf(abc);
Long lo = Long.valueOf(abc);
Boolean boo = Boolean.TRUE;
Float ft = Float.valueOf(abc);
Double dou = Double.valueOf(abc);
// 引用对象值转为基本类型值
byte byt = b1.byteValue();
s = s2.shortValue();
i = it.intValue();
long l = lo.longValue();
f3 = ft.floatValue();
d = dou.doubleValue();
boolean b = boo.booleanValue();
// 其他类型转为String有两种方法,下面以int为例
String str = String.valueOf(i);
System.out.println(str);
String str1 = it.toString();
System.out.println(str1);
// String转其他类型也是类似的
d = Double.valueOf(str).doubleValue();
System.out.println(d);
}
}