Java语言-11:integer以及int和String类型的相互转换以及三种排序方法(冒泡,选择,折半)

本文介绍了Java中基本数据类型的封装类,如Integer、Character,并详细讲解了Integer类的构造方法及基本类型与String间的转换。此外,还探讨了常用的排序算法,包括冒泡排序、选择排序以及折半查找算法。

1、Integer的引入及其构造方法
Integer类是int类型的包装类类型
 
将100十进制 (整数默认十进制) 它的二进制,八进制,十六进制...
  需求:获取Integer的最值
public static final int MAX_VALUE
  public static final int MIN_VALUE
 
Integer提供了静态功能:
  public static String toBinaryString(int i)十进制转换成二进制
  public static String toOctalString(int i)十进制转换成八进制
  public static String toHexString(int i)十进制转换成十六进制
 
 
基本类型对应都有一个保证类型,目的就为了将基本数据类型可以String类型之间进行互相转换(和String的转换,下一个问题讲起)
  byte Byte
  short Short
  int Integer (讲)
  long Long
  float Float
  double Double
  char character (讲)
  boolean Boolean
 
Integer的构造方法:
  public Integer(int value)
  public Integer(String s)
2、int和String类型之间的转换
如何将int转换为String类型
  valueOf(int i) ;
  将String转换为int类型
  static int
parseInt(String s);
1)int---->String
方式一:字符串拼接
例如:
int i = 100;
String s = ""+i;
方式二:静态toString
例如:
int number = 110;
String str = new toString(“num”);
方式是三:valueOf(int i) ;
int j  = 50;
String str = j.toString() ;
2)String----->int
方式一:String-->integer--->int
Integer i1 = new Integer(s);
int num = i1.intValue() ;
方式二:public static int parseInt(String str)
int num = Integer.parseInt(str) ;
3、character类的概述
1)Character类:
  Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。 
  以确定字符的类别(小写字母,数字,等等),
2) 构造方法:
public Character(char value)
4、JDK发展过程中添加的一些东西
1)JDK5 以后提供了自动拆装箱
  可以将Integer-->拆箱  int类型
  可以将int类型--->装箱  Integer类型
 
  2)JDK5 还提供了哪些特性:
  泛型,可变参数,增强for循环(在集合中)等等..
  
        3)JDK8特性:
  Stream流 --> 表达式
5、冒泡排序
冒泡排序: 两两比较,大的往后放,第一次比较完毕最大值出现在最大索引处....
其for循环为:
int[]arr = {1,2,6,3,0,9,6,8}
for(int i = 1;i<arr.length-1;i++){
   for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j+ 1];
arr[i + 1] = temp;
}
}
}
6、选择排序
选择排序: 用0索引对应的元素依次后面索引对应的元素进行比较, 1索引..... 小的数据往前方法,就可以得到一个排好序的数组...
其for循环为:
int[]arr1 = {12,4,46,7,93,25}
for (int x = 0; x < arr1.length - 1; x++) {
for (int y = x + 1; y < arr.length; y++) {
if (arr[x] > arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}



7、折半查找
折半查找(二分查找) :数组一定是有序
 
  A:定义最小索引和最大索引
  B:计算中间索引
  C:中间索引对应的元素和需要查找的元素比较
  相等,直接返回中间索引
  不相等:
  大了,左边找
  max = mid -1 ;
  小了,右边找
  min = mid + 1 ;
  E:重新计算中间索引 ,回到B继续查找
其循环为:
int []arr2 = {23,34,12,45,67,97}
int max = arr2.length();定义最大索引和最小索引

int min = 0;

  int mid = (max+min)/2;计算出中间索引
使用while循环
while (arr2[mid] != value){ value 为已知中间索引
从小到大排列:
if(arr2[min]>value)
max = mid -1;
}
else{
min = mid+1;
}
从大到小排列:
if(min>max) {
return -1 ;
}


mid = (max+min)/2 ;重新计算中间索引
}


return mid ;返回中间索引

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值