争取一天一道
找实习前刷满500道
今天写了一道简单的力扣题,回文数与字符数组
String res= Integer.toString(x); String resrev = ""; for (int i = 0; i < res.length(); i++) { resrev=res.charAt(i)+resrev; }
if (res.equals(resrev)){ return true; } return false;
思路
本来想使用字符数组将字符串的数字遍历下来,装进去,再反转
Integer自带toString可以直接换成字符串,
字符串有length方法可以直接获取长度,
把字符串元素遍历,将之前的字符串放在后面进行累加,比如之前123
现在1被获取,获取2时有”2“+”1“,之后再”3“+”2“+”1“就反转了。
收获:
才发现自己的基础没有掌握好,
梳理一下数据类型所占字节数
数据类型 | 字节数 |
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
char | 2 |
boolean | 4 |
简单数据类型之间的转换
整型、实型、字符型都是简单数据类型
由低级到高级1为(byte,short,char)-int-long-float-double
1.低级到高级自动转换
低级变量可以直接转换为高级变量,自动类型转换
byte b = 8;
int i = b;
long l =b;
float f = b;
double d = b;
不会报错
char型转换为int型,会直接转换为ascll码值
2.高级到低级的强制类型转换
char c=(char) i;
byte b2 = (byte) i;
short s=(short) i;
需要写(char)
3.包装类过渡类型转换
float-->double
float f1=100.00f;
Float F1=new Float(f1);
//F1.doubleValue()为Float类的返回double值型的方法
double d1=F1.doubleValue();
System.out.println(d1);
double-->int
double d2=100.00;
Double D1=new Double(d2);
int i1=D1.intValue();
System.out.println(i1);
int-->double
int i2=200;
double d3=i1;
System.out.println(d3);
字符串的转换
toString()
X+""
String.valueOf(x)
Double.valueOf("32.1").doubleValue()
parseXXX方法
最后,写题时发现自己忘记数组都要初始化了,
无论什么数组,都要写明元素个数,可变数组可用arraylist
char[] arr1 = {'1','2','3'};
char[] arr2=new char[3];
char[] arr3=new char[]{'1','2','3'};
数值转换来自8大基本数据类型各占多少字节和一些单位常识_基本数据类型单位_For_ZZHacker的博客-CSDN博客
标签:字符,int,double,float,数据类型,char,数组,byte,回文 From: https://www.cnblogs.com/yeban2021/p/17467485.html