day07-排序
水仙花数:
3位数本身 = 百位数立方 + 十位数立方 + 个位数立方
public class Test02 {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int bai = i/100%10;
int shi = i/10%10;
int ge = i%10;
if (i == bai*bai*bai + shi*shi*shi + ge*ge*ge) {
System.out.println(i);
}
}
}
}
利用for循环打印ABCDEFG...XYZ,26个大写字母与26个小写字母
public class Test04 {
public static void main(String[] args) {
char da = 'A';
char xiao = 'a';
for (int i = 0; i < 26; i++) {
System.out.println("大写字母 "+da+" ,小写字母 "+xiao);
da++; //更新大写字母值
xiao++; //更新小写字母值
}
}
}
-
- 利用for循环打印 9*9 表
如果把1*1=1这样的内容 看做一颗*的话,那么打印结果就成了如下效果:
*
**
***
代码如下:
public class demo3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1;i<10;i++){
for(int j =1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
数组元素逆序
public class demo3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr={11,44,55,33,66,45,48,654,46,46,4,668,46,46,4};
printArray(arr);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]);
}
}
private static void printArray(int[] arr) {
// TODO Auto-generated method stub
for(int start=0,end=arr.length-1;start<end;start++,end--){
int temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
}
}
}
选择排序原理:
选择排序:
public class demo
{
public static void main(String[] args)
{
int [] a={4,1,3,2};
for(int i=0;i<a.length-1;i++){//外层循环用来控制数组循环的圈数
for(int j =i+1;j<a.length;j++){//内层循环用来完成元素值比较,把小的元素值互换到要比较的第一个元素中
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}System.out.println(a[i]);
}
}
}
冒泡排序:
public static void main(String[] args)
{
int [] a={4,1,3,2};
for(int i=0;i<a.length;i++){
for(int j =0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}System.out.println(a[i]);
}
}
}
折半查找:
看桌面视频
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9, 11, 15 };
int index = binarySearch(arr, 11);
System.out.println(index);
}
public static int binarySearch(int[] arr, int key) {
int min = 0;
int max = arr.length - 1;
int mid = 0;
while (min <= max) {
mid = (min + max) / 2;
if (key > arr[mid]) {
min = mid + 1;
} else if (key < arr[mid]) {
max = mid - 1;
} else {
return mid;
}
}
return -1;
}
}