java基础学习——遇到的不懂问题
来源:互联网 发布:win10怎么安装java 编辑:程序博客网 时间:2024/06/05 05:26
1)对于以下代码:
package character;
public class TestString {
public static void main(String[] args) {
String garen ="盖伦"; //字面值,虚拟机碰到字面值就会创建一个字符串对象
String teemo = new String("提莫"); //创建了两个字符串对象
char[] cs = new char[]{'崔','斯','特'};
String hero = new String(cs);// 通过字符数组创建一个字符串对象
String hero3 = garen + teemo;// 通过+加号进行字符串拼接
}
}
其中语句:String teemo = new String("提莫"); //创建了两个字符串对象
疑问:创建了字符串对象teemo,还有一个对象是什么?
2)String 被修饰为final,所以是不能被继承的
package character;
public class TestString {
public static void main(String[] args) {
MyString str = new MyString();
}
/*这里会报错,因为String不能被继承*/
static class MyString extends String{
}
}
3)创建一个长度是5的随机字符串,随机字符有可能是数字,大写字母或者小写字母
给点提示: 数字和字符之间可以通过互相转换
char c = 'A';
short s = (short) c;
通过这个手段就能够知道字符 a-z A-Z 0-9 所对应的数字的区间了
需要用到ASCII码对照表
代码如下:
package character;
public class TestString {
public static void main(String[] args) {
//方法1
char cs[] = new char[5];
short start = '0';
short end = 'z'+1;
for (int i = 0; i < cs.length; i++) {
while (true) {
char c = (char) ((Math.random() * (end - start)) + start);
if (Character.isLetter(c) || Character.isDigit(c)) {
cs[i] = c;
break;
}
}
}
String result = new String(cs);
System.out.println(result);
//方法2
String pool = "";
for (short i = '0'; i <= '9'; i++) {
pool+=(char)i;
}
for (short i = 'a'; i <= 'z'; i++) {
pool+=(char)i;
}
for (short i = 'A'; i <= 'Z'; i++) {
pool+=(char)i;
}
char cs2[] = new char[5];
for (int i = 0; i < cs2.length; i++) {
int index = (int) (Math.random()*pool.length());
cs2[i] = pool.charAt( index );
}
String result2 = new String(cs2);
System.out.println(result2);
}
}
2017.12.09
1)final修饰类
当Hero被修饰成final的时候,表示Hero不能够被继承,其子类会出现编译错误。
如下代码:
package charactor;
public final class Hero extends Object {
String name; //姓名
float hp; //血量
}
2)final修饰方法
Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写。
如下代码:
package charactor;
import property.Item;
public class Hero extends Object {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public final void useItem(Item i){
System.out.println("hero use item");
i.effect();
}
public Hero(){
System.out.println("Hero的无参的构造方法 ");
}
public Hero(String name){
System.out.println("Hero的有一个参数的构造方法 ");
this.name = name;
}
public static void main(String[] args) {
new Hero();
}
}
3)final修饰引用
20171217
1)Java中的「.」是什么意思?
2)借助增强型for循环,可以很方便的遍历一个枚举都有哪些常量.
public class HelloWorld {
public static void main(String[] args) {
for (Season s : Season.values()) {
System.out.println(s);
}
}
}
[Q:疑问]Season.values()是地址吗?如果是,那么是谁的地址?
[A:答案]:是地址,是枚举类型Season的地址,地址值为Season内的首个成员变量的地址。
package character;
public class TestString {
public static void main(String[] args) {
String garen ="盖伦"; //字面值,虚拟机碰到字面值就会创建一个字符串对象
String teemo = new String("提莫"); //创建了两个字符串对象
char[] cs = new char[]{'崔','斯','特'};
String hero = new String(cs);// 通过字符数组创建一个字符串对象
String hero3 = garen + teemo;// 通过+加号进行字符串拼接
}
}
其中语句:String teemo = new String("提莫"); //创建了两个字符串对象
疑问:创建了字符串对象teemo,还有一个对象是什么?
2)String 被修饰为final,所以是不能被继承的
package character;
public class TestString {
public static void main(String[] args) {
MyString str = new MyString();
}
/*这里会报错,因为String不能被继承*/
static class MyString extends String{
}
}
3)创建一个长度是5的随机字符串,随机字符有可能是数字,大写字母或者小写字母
给点提示: 数字和字符之间可以通过互相转换
char c = 'A';
short s = (short) c;
通过这个手段就能够知道字符 a-z A-Z 0-9 所对应的数字的区间了
需要用到ASCII码对照表
代码如下:
package character;
public class TestString {
public static void main(String[] args) {
//方法1
char cs[] = new char[5];
short start = '0';
short end = 'z'+1;
for (int i = 0; i < cs.length; i++) {
while (true) {
char c = (char) ((Math.random() * (end - start)) + start);
if (Character.isLetter(c) || Character.isDigit(c)) {
cs[i] = c;
break;
}
}
}
String result = new String(cs);
System.out.println(result);
//方法2
String pool = "";
for (short i = '0'; i <= '9'; i++) {
pool+=(char)i;
}
for (short i = 'a'; i <= 'z'; i++) {
pool+=(char)i;
}
for (short i = 'A'; i <= 'Z'; i++) {
pool+=(char)i;
}
char cs2[] = new char[5];
for (int i = 0; i < cs2.length; i++) {
int index = (int) (Math.random()*pool.length());
cs2[i] = pool.charAt( index );
}
String result2 = new String(cs2);
System.out.println(result2);
}
}
2017.12.09
1)final修饰类
当Hero被修饰成final的时候,表示Hero不能够被继承,其子类会出现编译错误。
如下代码:
package charactor;
public final class Hero extends Object {
String name; //姓名
float hp; //血量
}
2)final修饰方法
Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写。
如下代码:
package charactor;
import property.Item;
public class Hero extends Object {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public final void useItem(Item i){
System.out.println("hero use item");
i.effect();
}
public Hero(){
System.out.println("Hero的无参的构造方法 ");
}
public Hero(String name){
System.out.println("Hero的有一个参数的构造方法 ");
this.name = name;
}
public static void main(String[] args) {
new Hero();
}
}
3)final修饰引用
20171217
1)Java中的「.」是什么意思?
2)借助增强型for循环,可以很方便的遍历一个枚举都有哪些常量.
public class HelloWorld {
public static void main(String[] args) {
for (Season s : Season.values()) {
System.out.println(s);
}
}
}
[Q:疑问]Season.values()是地址吗?如果是,那么是谁的地址?
[A:答案]:是地址,是枚举类型Season的地址,地址值为Season内的首个成员变量的地址。
阅读全文
0 0
- java基础学习——遇到的不懂问题
- java基础 学习遇到的问题(一)
- 看Uboot时会遇到的不懂问题
- java学习遇到的问题
- 学习Tensorflow遇到的一些不懂函数的学习
- 初学java遇到的基础问题
- 学习3——MongoDB基础配置及遇到的问题
- Java 学习中遇到的问题 1.0
- Java学习中遇到的一些问题
- java学习中遇到的问题
- java学习会遇到的一些问题!
- 再学习java中遇到的问题
- 学习Java中遇到的一些问题
- java 学习泛型遇到的问题
- Java学习中遇到的编码问题
- Java学习中遇到的问题
- 你懂?你不懂——>我的学习环境
- 不懂的问题
- OGNL与EL
- B. Months and Years(暴力)
- 程序员中国制造--2017
- OLAP工具-greenplum(GPDB)初识
- Android 清空缓存
- java基础学习——遇到的不懂问题
- 用eclipse运行 结果为什么没有菜单和菜单栏
- v8js中js 函数与 php 函数传值
- 前程无忧python工作薪资爬取及数据分析
- 安卓开发中非常炫的效果集合
- 严重: Exception starting filter [struts2] Class: com.opensymphony.xwork2.spring.SpringObjectFactory Fi
- 谱聚类(spectral clustering)原理总结
- 编译原理_词法分析程序设计
- Spring开启自动扫描