Day07
import java. util. Scanner ;
public class Work01 {
public static void main ( String [ ] args) {
Scanner scan = new Scanner ( System . in) ;
System . out. println ( "请输入1~9的数字:" ) ;
int n = scan. nextInt ( ) ;
method ( n) ;
}
public static void method ( int n) {
if ( n< 1 || n> 9 ) {
return ;
}
for ( int i = 1 ; i<= n; i++ ) {
for ( int j = 1 ; j<= i; j++ ) {
System . out. print ( j + "x" + i + "=" + ( i* j) + "\t" ) ;
}
System . out. println ( ) ;
}
}
}
public class Work02 {
public static void main ( String [ ] args) {
for ( int num = 100 ; num<= 200 ; num++ ) {
if ( isPrimeNumber ( num) ) {
System . out. println ( num) ;
}
}
}
public static boolean isPrimeNumber ( int num) {
for ( int i = 2 ; i< num; i++ ) {
if ( num % i == 0 ) {
return false ;
}
}
return true ;
}
}
public class Test01 {
public static void main ( String [ ] args) {
int [ ] arr = { 6 , 3 , 7 , 5 , 2 , 1 } ;
for ( int i = 0 ; 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[ j+ 1 ] = temp;
}
}
}
for ( int element : arr) {
System . out. println ( element) ;
}
}
}
public class Test02 {
public static void main ( String [ ] args) {
int [ ] arr = { 6 , 3 , 7 , 5 , 2 , 1 } ;
int num = 6 ;
for ( int i = 0 ; i< arr. length; i++ ) {
if ( num == arr[ i] ) {
System . out. println ( "元素查找到了,下标为:" + i) ;
}
}
}
}
import java. util. Arrays ;
public class Test03 {
public static void main ( String [ ] args) {
int [ ] arr = { 6 , 3 , 7 , 5 , 2 , 1 } ;
Arrays . sort ( arr) ;
int num = 6 ;
int start = 0 ;
int end = arr. length- 1 ;
while ( start <= end) {
int mid = ( start+ end) / 2 ;
if ( num < arr[ mid] ) {
end = mid- 1 ;
} else if ( num > arr[ mid] ) {
start = mid+ 1 ;
} else {
System . out. println ( "元素查找到了,下标为:" + mid) ;
break ;
}
}
}
}
public class Test04 {
public static void main ( String [ ] args) {
String [ ] arr = { "麻生希" , "椎名空" , "水菜丽" } ;
String [ ] newArr = arr;
arr[ 1 ] = "侯小康" ;
for ( String element : newArr) {
System . out. println ( element) ;
}
}
}
public class Test05 {
public static void main ( String [ ] args) {
String [ ] arr = { "麻生希" , "椎名空" , "水菜丽" } ;
String [ ] newArr = new String [ arr. length] ;
for ( int i = 0 ; i< arr. length; i++ ) {
newArr[ i] = arr[ i] ;
}
arr[ 1 ] = "侯小康" ;
for ( String element : newArr) {
System . out. println ( element) ;
}
}
}
public class Test06 {
public static void main ( String [ ] args) {
String [ ] arr = { "麻生希" , "椎名空" , "水菜丽" } ;
int oldCapacity = arr. length;
int newCapacity = oldCapacity + ( oldCapacity>> 1 ) ;
String [ ] newArr = new String [ newCapacity] ;
for ( int i = 0 ; i< arr. length; i++ ) {
newArr[ i] = arr[ i] ;
}
arr = newArr;
for ( String element : arr) {
System . out. println ( element) ;
}
}
}
public class Test07 {
public static void main ( String [ ] args) {
String [ ] arr = { "麻生希" , "椎名空" , "水菜丽" , "樱井步" } ;
String [ ] newArr = new String [ arr. length- 1 ] ;
int index = 0 ;
for ( String element : arr) {
if ( ! element. equals ( "椎名空" ) ) {
newArr[ index++ ] = element;
}
}
arr = newArr;
for ( String element : arr) {
System . out. println ( element) ;
}
}
}
public class Test08 {
public static void main ( String [ ] args) {
String [ ] arr = { "麻生希" , "椎名空" , "水菜丽" , "樱井步" } ;
for ( int i = 1 ; i< arr. length- 1 ; i++ ) {
arr[ i] = arr[ i+ 1 ] ;
}
arr[ arr. length- 1 ] = null ;
for ( String element : arr) {
System . out. println ( element) ;
}
}
}
public class Test09 {
public static void main ( String [ ] args) {
int [ ] arr = { 6 , 43 , 53 , 56 , 467 , 41 , 35 } ;
int [ ] newArr = getMaxAndMin ( arr) ;
System . out. println ( "最大值为:" + newArr[ 0 ] ) ;
System . out. println ( "最小值为:" + newArr[ 1 ] ) ;
}
public static int [ ] getMaxAndMin ( int [ ] arr) {
int max = arr[ 0 ] ;
int min = arr[ 0 ] ;
for ( int i = 1 ; i< arr. length; i++ ) {
if ( max < arr[ i] ) {
max = arr[ i] ;
}
if ( min > arr[ i] ) {
min = arr[ i] ;
}
}
int [ ] maxAndMin = { max, min} ;
return maxAndMin;
}
}
public class Test10 {
public static void main ( String [ ] args) {
int max = getMax ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
System . out. println ( max) ;
}
public static int getMax ( int . . . arr) {
if ( arr. length == 0 ) {
return - 1 ;
}
int max = arr[ 0 ] ;
for ( int i = 1 ; i< arr. length; i++ ) {
if ( max < arr[ i] ) {
max = arr[ i] ;
}
}
return max;
}
public static void method ( int i, String . . . ss) {
}
}
import java. util. Arrays ;
public class Test11 {
public static void main ( String [ ] args) {
int [ ] arr = { 5 , 72 , 9 , 4 , 21 , 1 , 6 , 3 , 81 } ;
Arrays . sort ( arr) ;
int index = Arrays . binarySearch ( arr, 30 ) ;
System . out. println ( "查找到元素的下标为:" + index) ;
int [ ] newArr1 = Arrays . copyOf ( arr, 15 ) ;
int [ ] newArr2 = Arrays . copyOfRange ( newArr1, 2 , 11 ) ;
Arrays . fill ( newArr2, 888 ) ;
Arrays . fill ( newArr2, 2 , 4 , 666 ) ;
String str = Arrays . toString ( newArr2) ;
System . out. println ( str) ;
}
}
public class Test12 {
public static void main ( String [ ] args) {
String [ ] [ ] names = { { "麻生希" , "椎名空" , "水菜丽" } , { "三上悠亚" , "爱田奈奈" , "古川伊织" , "水野朝阳" } } ;
names[ 0 ] [ 1 ] = "侯小康" ;
String str = names[ 0 ] [ 1 ] ;
System . out. println ( "获取指定下标上的元素:" + str) ;
System . out. println ( "获取二维数组中一维数组的长度:" + names. length) ;
System . out. println ( "获取二维数组中第一个一维数组元素的长度:" + names[ 0 ] . length) ;
System . out. println ( "获取二维数组中第二个一维数组元素的长度:" + names[ 1 ] . length) ;
System . out. println ( "------------------------------------" ) ;
for ( int i = 0 ; i< names. length; i++ ) {
for ( int j = 0 ; j< names[ i] . length; j++ ) {
System . out. println ( names[ i] [ j] ) ;
}
}
System . out. println ( "------------------------------------" ) ;
for ( String [ ] ss: names) {
for ( String element: ss) {
System . out. println ( element) ;
}
}
}
}
public class Test13 {
public static void main ( String [ ] args) {
String [ ] [ ] names;
names = new String [ 2 ] [ 3 ] ;
names[ 0 ] [ 1 ] = "侯小康" ;
String str = names[ 0 ] [ 1 ] ;
System . out. println ( "获取指定下标上的元素:" + str) ;
System . out. println ( "获取二维数组中一维数组的长度:" + names. length) ;
System . out. println ( "获取二维数组中第一个一维数组元素的长度:" + names[ 0 ] . length) ;
System . out. println ( "获取二维数组中第二个一维数组元素的长度:" + names[ 1 ] . length) ;
System . out. println ( "------------------------------------" ) ;
for ( int i = 0 ; i< names. length; i++ ) {
for ( int j = 0 ; j< names[ i] . length; j++ ) {
System . out. println ( names[ i] [ j] ) ;
}
}
System . out. println ( "------------------------------------" ) ;
for ( String [ ] ss: names) {
for ( String element: ss) {
System . out. println ( element) ;
}
}
}
}
public class Test14 {
public static void main ( String [ ] args) {
String [ ] [ ] names = new String [ 2 ] [ ] ;
String [ ] s1 = { "aaa" , "bbb" , "ccc" } ;
String [ ] s2 = { "ddd" , "eee" , "fff" } ;
names[ 0 ] = s1;
names[ 1 ] = s2;
for ( String [ ] ss: names) {
for ( String element: ss) {
System . out. println ( element) ;
}
}
}
}
1. 一维数组的排序 -- 冒泡排序 -- 了解
2. 一维数组的查找 -- 线性查找、二分法查找 -- 了解
3. 数组的复制、扩容、删除 -- - 重要!!!!
4. 数组做为方法的参数和返回值
5. 可变参数
6. Arrays工具类
7. 二维数组
作业:
1. 知识点的梳理文档
2. 代码编写3 遍
3. 画内存图
4. 课后作业
5. 复习:方法的重载和递归
5. 预习:面向对象