本人是java菜鸟 最近想问一些java基础方面的问题
1."a" 与 'a'的区别?"a"代指的是字符串类型 'a'代指的是char类型,所以用法
不同。System.out.println('a'+1);结果为98
System.out.println("a"+1);结果为a1.
除此之外,还有两者在用法上还有什么区别?
2.&&和&的用法。
3<a<10 在数学里面可以写成是a>3和a<10的交集。
在java中,写成a>3 & a<10, 而a>3和a<10为boolean类型
,即a>3 a<10可以为false 即不能保证3<a<10.
判断成绩等级的题目中,写如下代码:
Scanner sc=new Scanner(System.in);
System.out.println("please enter your
score: ");
int x=sc.nextInt();
if((x>=90) && (x<=100)){
System.out.println("A");
}else if((x>=80) && (x<=89)){
System.out.println("B");
}else if((x>=70) && (x<=79)){
System.out.println("C");
}else if((x>=60) && (x<=69)){
System.out.println("D");
}else if(x<60){
System.out.println("E");
}else{
System.out.println("Invalid
score");
}
为什么使用 && 而不是用 &判断成绩等级呢?
3.循环语句中
for (int k=1; k<=9;k++){
for (int j=1; j<=k;j++){
System.out.print(j+"*"+k
+"="+(j*k)+"\t");
}
System.out.println();
}
k和j代表了什么?其中j<=k的作用?
4.void函数的形式参数类型
public static void pringXing(int m,int n) {
for(int x=0; x<m; x++) {
for(int y=0; y<n; y++) {
System.out.print
("*");
}
System.out.println();
}
}
void函数表示数据类型不明确,为什么还能给形式参数定
义数据类型呢?不是说返回值类型为void时,不能定义形
式参数变量来接受?
5.float和double数据
如何区分?两者的区别?
6.方法重载
为什么要保证方法的返回值的类型是相同的?
同名的方法可以多次出现,为什么同名的变量不可以多次
出现呢?
7.System.out.println
class FunctionTest6 {
public static void main(String[] args) {
//测试
byte b1 = 3;
byte b2 = 4;
System.out.println("byte:"+compare
(b1,b2));
}
//byte类型
public static boolean compare(byte a,byte
b) {
System.out.println("byte");
return a == b;
}
}
其中System.out.println("byte:" +compare(b1,b2));中
的compare方法含有了System.out.println("byte")语句
为何System.out.println()能够嵌套使用?
8.数组查找元素
class ArrayTest5 {
public static void main(String[] args) {
int[] arr = {200,250,38,888,444};
int index = getIndex(arr,250);
System.out.println("250在数组中第一
次出现的索引是:"+index);
}
public static int getIndex(int[] arr,int
value) {
for(int x=0; x<arr.length; x++) {
if(arr[x] == value) {
return x;
}
}
负数即可,而且是返回-1
return -1;
}
}
为什么不能将return-1写在for语句中的if(arr[x]
==value)后面?
9.杨辉三角
import java.util.Scanner;
class practice{
public static void main(String[] args){
System.out.println("Please type in a
number:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int [][] arr=new int[n][n];
for(int x=0; x<arr.length; x++){
arr[x][0]=1;
arr[x][x]=1;
}
for(int x=2; x<arr.length; x++){
for(int y=1; y<=x-1; y++){
arr[x][y]=arr[x-1][y-1]+arr[x-1][y];
}
}
for (int x=0; x< arr.length; x++){
for (int y=0; y<=x; y++){
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
}
}
上面的arr[x][x]为什么表示每一行的最后一列数值。
内循环中为什么y<=x-1?
[此贴子已经被作者于2018-7-30 19:54编辑过]