Java基础学习2
scanner:
Scanner scanner = new Scanner(System.in);//获取输入
System.out.println("请输入:");
if (scanner.hasNextLine()){//判断是否有输入
String Str = scanner.nextLine();//接收输入的内容赋给str
System.out.println(Str);
}
scanner.close();//关闭Scanner
hasnext和hasnexLine的区别

hasnext()以空白结束,hasnexLine()以enter结束!
流程控制
-
顺序结构
-
选择结构
if(),which()
-
循环结构
while(),do...while,for()
补充
print:输出不会换行
println:输出会换行
\t:空格
\n:换行
反编译

打开文件所在位置:project Structure----->找到对应文件class文件并复制

在idea中如图打开Java文件文件夹,粘贴到该文件夹下,再在idea中打开class文件,即可看见java文件编译时的代码。
练习
打印九九乘法表:
for (int i = 1; i <= 9; i++) {//外循环
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
打印等边三角形:
for (int i = 0; i < 5; i++) {
for(int j=5;j>i;j--){
System.out.print(" ");
}
for(int k=0;k<=i;k++){
System.out.print("*");
}
for(int k=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
方法
定义:

一般一个方法只用来完成一个功能,便于完善,修改!
调用:

方法的重载

递归
public static int f(int i){//阶乘
if(i==1){
return 1;
}else {
return i*f(i-1);//递归
}
}
补充(面试题):
Java都是值传递,不是引用传递!
数组
定义声明
int[] nums=new int[10];//声明
int sum=0;
for (int i = 0; i < nums.length; i++) {//遍历
nums[i]=i+1;//赋值
System.out.println(nums[i]);/打印
sum+=nums[i];//求和
}
System.out.println(sum);
注意

数组的使用
public class Dome02 {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
int[] c=f(a);
b(c);
}
public static int[] f(int[] a){//反序
int[] b=new int[a.length];//重新定义一个空数组
for (int i = 0,j=a.length-1; i < a.length ;j--, i++) {
b[j]=a[i];//将a数组中的第一个元素放到b数组的最后一个位置...
}
return b;
}
public static void b(int[] a){//遍历
for (int i = 0; i <a.length ; i++) {
System.out.print(a[i]+" ");
}
}
}
Arrays类的使用:
int[] a=Dome01.getarray();
//Dome02.b(a);
int[] b={8888,2,3,6,56,77,4,99999};
Arrays.sort(b);//排序
Arrays.fill(b,1,2,0);//填充,用0填充在位置1,2之间
System.out.println(Arrays.toString(a));//打印数组
System.out.println(Arrays.toString(b));
冒泡排序(面试题)
//冒泡排序
public class Dome04 {
public static void main(String[] args) {
int[] a={2,4,1,3,6,5};
System.out.println(Arrays.toString(sort(a)));
}
public static int[] sort(int[] a){
int temb=0;
for (int i = 0; i <a.length-1 ; i++) {//外循环,判断比较几次
for (int j = 0; j <a.length-1-i ; j++) {//内循环交换前一个数大于后一个数的位置
if (a[j]>a[j+1]){
temb=a[j];
a[j]=a[j+1];
a[j+1]=temb;
}
}
}
return a;
}
}
scanner:
Scanner scanner = new Scanner(System.in);//获取输入
System.out.println("请输入:");
if (scanner.hasNextLine()){//判断是否有输入
String Str = scanner.nextLine();//接收输入的内容赋给str
System.out.println(Str);
}
scanner.close();//关闭Scanner
hasnext和hasnexLine的区别
hasnext()以空白结束,hasnexLine()以enter结束!
流程控制
-
顺序结构
-
选择结构
if(),which()
-
循环结构
while(),do...while,for()
补充
print:输出不会换行
println:输出会换行
\t:空格
\n:换行
反编译
打开文件所在位置:project Structure----->找到对应文件class文件并复制
在idea中如图打开Java文件文件夹,粘贴到该文件夹下,再在idea中打开class文件,即可看见java文件编译时的代码。
练习
打印九九乘法表:
for (int i = 1; i <= 9; i++) {//外循环
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
打印等边三角形:
for (int i = 0; i < 5; i++) {
for(int j=5;j>i;j--){
System.out.print(" ");
}
for(int k=0;k<=i;k++){
System.out.print("*");
}
for(int k=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
方法
定义:
一般一个方法只用来完成一个功能,便于完善,修改!
调用:
方法的重载
递归
public static int f(int i){//阶乘
if(i==1){
return 1;
}else {
return i*f(i-1);//递归
}
}
补充(面试题):
Java都是值传递,不是引用传递!
数组
定义声明
int[] nums=new int[10];//声明
int sum=0;
for (int i = 0; i < nums.length; i++) {//遍历
nums[i]=i+1;//赋值
System.out.println(nums[i]);/打印
sum+=nums[i];//求和
}
System.out.println(sum);
注意
数组的使用
public class Dome02 {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
int[] c=f(a);
b(c);
}
public static int[] f(int[] a){//反序
int[] b=new int[a.length];//重新定义一个空数组
for (int i = 0,j=a.length-1; i < a.length ;j--, i++) {
b[j]=a[i];//将a数组中的第一个元素放到b数组的最后一个位置...
}
return b;
}
public static void b(int[] a){//遍历
for (int i = 0; i <a.length ; i++) {
System.out.print(a[i]+" ");
}
}
}
Arrays类的使用:
int[] a=Dome01.getarray();
//Dome02.b(a);
int[] b={8888,2,3,6,56,77,4,99999};
Arrays.sort(b);//排序
Arrays.fill(b,1,2,0);//填充,用0填充在位置1,2之间
System.out.println(Arrays.toString(a));//打印数组
System.out.println(Arrays.toString(b));
冒泡排序(面试题)
//冒泡排序
public class Dome04 {
public static void main(String[] args) {
int[] a={2,4,1,3,6,5};
System.out.println(Arrays.toString(sort(a)));
}
public static int[] sort(int[] a){
int temb=0;
for (int i = 0; i <a.length-1 ; i++) {//外循环,判断比较几次
for (int j = 0; j <a.length-1-i ; j++) {//内循环交换前一个数大于后一个数的位置
if (a[j]>a[j+1]){
temb=a[j];
a[j]=a[j+1];
a[j+1]=temb;
}
}
}
return a;
}
}
浙公网安备 33010602011771号