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?

解决方案 »

  1.   

    &&具有短路效果,前面为false,&&后边的判断就不看了;而&前后的判断都要看!
      

  2.   

    第4题,参数列表是否为空(传参),和返回值类型(是否为void)无关!
      

  3.   

    首先感觉你的基础看的太仓促,很多地方还没看明白就着急下一个知识点,再者你发的代码看起来很累,根本就没有排版,不知道你用的什么编译器,eclipse、idea等java的编译器很多,记得顺手格式化一下,自己看起来舒服,别人看你的代码也能很快明白;还有整体看你的问题,说明你数学太差,建议你先补习下高中的代数部分再来学习。
    关于你的问题:
    1、char类型属于基础类型,用法就那么几个,随便找本书都可以明白;String类型的用法很多,常见的用法每本书都有,如果想看所有的用法,建议去查API,英语不好的话可以找中文版的,网上自己搜就可以。
    2、&&叫做短路与,如果该运算符前面的Boolean 值为false,那么整个&&语句的值必为false,此时就客气不用去判断&&符号后面的表达式的值,省去一步运算,提高效率。实际运算结果&&和&没有区别,只是效率的问题。
    3、这是一个嵌套循环,j、k都是一个变量,用来限定循环的次数。j<k是为了限制内循环的次数j不能超出外循环k,这个实在不明白你为什么看不懂,只能理解为你数学太差。
    4、void的意义是指这个方法没有返回值,或者可以理解为这个方法内如果有return语句的话,return后面不能跟任何值。void与形参、实参等没有任何关系。
    5、float和double都是浮点类型,通俗说就是小数类型,二者精度不同,这个自己看书吧。
    6、重载是为了可以根据不同的参数类型自动调用。打个比方,你们学校有个方法是打扫操场,这个方法可以按班去打扫操场,比如让一班或者二班去打扫,也可以按年级去打扫,比如一年级、二年级。这个打扫操场的重载就是既可以按班调用,也可以按年级调用。重载的返回值必须相同,就是指操场必须打扫,不能打扫其他的地方。这个可以去看看网上的视频,单纯看书的话确实不好懂。
    7、不知道你说的print语句里嵌套是什么意思,只能理解为你还不明白print语句怎么用。
    8、return -1写在if语句里的话,如果第一次比较结果不同的话,就直接返回-1,不再对数组里的其他数据进行比较,循环结束,这也就没有任何意义了。建议你按数组的第一个数据是否与目标相同自己运行一下,否则说的再多你也是糊涂。
    9、第一这个方法结果有问题,杨辉三角打印应该是等腰三角形,你的这个方法打印出来应该是个直角三角形,不明白的话去查杨辉三角的结果,再和你这个方法的结果比较就知道了。第二你的问题说明你不懂什么叫杨辉三角,建议先去看明白杨辉三角的数学部分再来做这个题目。
      

  4.   

    emmm  感觉你学的挺乱的..还不细..对于知识点都是一知半解..而且你是有过别的语音基础嘛..
    【void函数表示数据类型不明确,为什么还能给形式参数定义数据类型呢?不是说返回值类型为void时,不能定义形式参数变量来接受?】
    这句话你从哪儿理解来的~  形参跟返回值是没有关系的,形参定义的数据类型是指定传进来的参数是什么类型,而返回值类型是指返回的数据是什么类型。
    就好像你吃的苹果..但是你拉出来的粑粑...这直接没有什么直接联系,只是可能你这个粑粑吧是这个苹果通过各种算法生成出来的.....