问题1:
错误:编码GBK的不可映射字符
解决办法:(修改编码)
输入javac -encoding utf-8 文件名.java
2、问题public static void main(String[] args)解释
这里要对main函数讲解一下,参数String[] args是一个字符串数组,接收来自程序执行时传进来的参数
如果是在控制台,可以通过编译执行将参数传进来,命令行如下:
javac HashMapTest.java
java HashMapTest a b c // 字符串以空格的方式隔开
这样传进main函数的就是一个字符串数组, args[0] =a; args[1]=b;args[2]=c, 如果不传参数进来,args为空
但是在eclipse中可以这样把参数传进来,Run ---- RunComfigurations----找到要运行的主类 ------ 有一个arguments 可以配置main函数的参数 Programmer arguments和VM(虚拟机)的参数(可以定义项目占据的空间内存等等),
3、ava toCharArray() 方法
toCharArray() 方法将字符串转换为字符数组。
语法
public char[] toCharArray()
实例:
public class Test {
public static void main(String args[]) {
String Str = new String("www.runoob.com");
System.out.print("返回值 :" );
System.out.println( Str.toCharArray() );
}
}
//返回值 :www.runoob.com
4、ava Character 类
Character 类用于对单个字符进行操作。
Character 类在对象中包装一个基本类型 char 的值
面是Character类的方法:
序号 | 方法与描述 |
---|---|
1 | isLetter() 是否是一个字母 |
2 | isDigit() 是否是一个数字字符 |
3 | isWhitespace() 是否是一个空白字符 |
4 | isUpperCase() 是否是大写字母 |
5 | isLowerCase() 是否是小写字母 |
6 | toUpperCase() 指定字母的大写形式 |
7 | toLowerCase() 指定字母的小写形式 |
8 | toString() 返回字符的字符串形式,字符串的长度仅为1 |
5、表达式1&3&5&7的值为什么是1?
答: 他们的末位都是1,这是一个 位与运算 即 0001 & 0011 & 0101 & 0111 = 0001 也就是 1
6、Java语言为什么不支持多重继承
这个要先从多重继承概念说起
c++首先引入的多重继承带来了诸如菱形继承一类的问题,而后为了解决这个问题又不得不引入了虚继承这种概念。然而在实际的应用中人们发现继承更多的只被用在两种场合:扩充/改善基类,以及实现多态。对于前者,单继承足以;而对于后者,则真正需要的其实是纯抽象类,即只包含纯虚函数的基类。而对于这一种基类,由于其目的和普通的实例类已经有所不同,因此在java中将其改称为interface,即接口加以明确区分。
因此,java或者c#所谓的不支持多重继承,只是不支持对实例类的多重继承——因为这种继承所带来的一点点代码上的缩减远比不上其引入的麻烦,但是对于用于实现多态的多重继承,即implement interface依然是很好的支持了的。
7、@Override这个标签作用
1)可以给你当作注释用,感觉这个也不能说明什么,注释也没什么用。
2)可以告诉读你代码的人,这是对它父类方法的重写,其实很多代码规范没有为什么,规范就是规范;
3)编译器可以给你验证@Override下面的方法名称是否是你父类中所有的,如果没有就会报错。
比如当你想要在子类中重写父类的一个方法,但是你把名字打错了,当你写了@Override编译器会提示你,你写的这个方法父类中没有;但是如果你没有写@Override编译器就会觉得这个是你子类中写的新的方法,并不会报错,到时候你debug还是很麻烦的一件事。
8、java extend 和 implements 的区别
1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。
extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用
2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
比如 class A extends B implements C,D,E