java基础自学笔记——部分关键字语法

Scanner in_t1 = new Scanner(System.in);//循环输入数组

for(int i=0;i<number;i++){

t1[i]=in_t1.nextInt();

}

 

 

继承

class 父类 { }

class 子类 extends 父类 { }  

 

强制for

for(a:b)(存放的变量:数组)  直接遍历

printf a

 

创建数组

int [] a = new int [5];

 

插入数组

System.arraycopy(a,0,b,0,i); (插入的数组名,起始位,存放的数组名,起始位,长度)

 

冒泡

    for (int j = 0; j < a.length; j++) {

            for (int i = 0; i < a.length-j-1; i++) {

                if(a[i]>a[i+1]){ 

                    int temp = a[i];

                    a[i] = a[i+1];

                    a[i+1] = temp;

                }

            }

 

强制转换

a = (精度小的类型)b

a = (int)b

 

 

可变数量的参数

    public void attack(Hero... heros) {

        for (int i = 0; i < heros.length ; i++) {

            System.out.println(name + " 攻击了 " + heros[i].name);

 

        }

}

 

带参数的构造方法

    //带一个参数的构造方法

    public Hero(String heroname){

        name = heroname;

    }

    

    //带两个参数的构造方法

    public Hero(String heroname,float herohp){

        name = heroname;

        hp = herohp;

    }

      

    public static void main(String[] args) {

        Hero garen =  new Hero("盖伦");

        Hero teemo =  new Hero("提莫",383);

    }

    

 

继承 接口

public class APHero extends Hero implements AD,AP

 

重写

直接在子类用同名方法重写,并通过子类的对象调用

 

类的多态

要实现类的多态,需要如下条件
1. 父类(接口)引用指向子类对象
2. 调用的方法有重写

 

final

修饰变量 只能赋值一次

修饰方法 不能被重写

修饰类 不能被继承

修饰引用  只能指向一次

 

 

 

 

 

抽象方法

    // 抽象方法attack

    // Hero的子类会被要求实现attack方法

    public abstract void attack();

 

 

内部类实例

 

   Hero garen = new Hero();

        garen.name = "盖伦";

        // 实例化内部类

        // BattleScore对象只有在一个英雄对象存在的时候才有意义

        // 所以其实例化必须建立在一个外部类对象的基础之上

        BattleScore score = garen.new BattleScore();

 

字符转数 数转字符

    double i_1 = 3.14;
   
String a = "3.1a4";
String j_1 = String.valueOf(i_1);
   
System.out.println(j_1);
double
j_2 = Double.valueOf(j_1);
   
System.out.println(j_2);
    double
b = Double.valueOf(a);
   
System.out.println(a);

 

 

Math.

abs求绝对值  
ceil天花板的意思,就是返回大的值,注意一些特殊值  
floor地板的意思,就是返回小的值  
max 两个中返回大的值,min和它相反,就不举例了  
random 取得一个大于或者等于0.0小于不等于1.0的随机数  
rint 四舍五入,返回double值  
             * 注意.5的时候会取偶数  
round 四舍五入,float时返回int值,double时返回long值  
             */    

 

 

 

 

 

 

 

 

Character常见方法

        System.out.println(Character.isLetter('a'));//判断是否为字母

        System.out.println(Character.isDigit('a')); //判断是否为数字

        System.out.println(Character.isWhitespace(' ')); //是否是空白

        System.out.println(Character.isUpperCase('a')); //是否是大写

        System.out.println(Character.isLowerCase('a')); //是否是小写

        

        System.out.println(Character.toUpperCase('a')); //转换为大写

        System.out.println(Character.toLowerCase('A')); //转换为小写

 

        String a = 'a'; //不能够直接把一个字符转换成字符串

        String a2 = Character.toString('a'); //转换为字符串

 

 

读取文件

  public static void main(String[] args) {

        try {

            //准备文件lol.txt其中的内容是AB,对应的ASCII分别是65 66

            File f =new File("d:/lol.txt");

            //创建基于文件的输入流

            FileInputStream fis =new FileInputStream(f);

            //创建字节数组,其长度就是文件的长度

            byte[] all =new byte[(int) f.length()];

            //以字节流的形式读取文件所有内容

            fis.read(all);

            for (byte b : all) {

                //打印出来是65 66

                System.out.println(b);

            }

            

            //每次使用完流,都应该进行关闭

            fis.close();

             

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

 

 

 

写入文件

public static void main(String[] args) {

        try {

            // 准备文件lol2.txt其中的内容是空的

            File f = new File("d:/lol2.txt");

            // 准备长度是2的字节数组,用88,89初始化,其对应的字符分别是X,Y

            byte data[] = { 88, 89 };

 

            // 创建基于文件的输出流

            FileOutputStream fos = new FileOutputStream(f);

            // 把数据写入到输出流

            fos.write(data);

            // 关闭输出流

            fos.close();

            

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

 

 

文件

        File f = new File("d:/LOLFolder/skin/garen.ski");

 

        // 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

        f.list();

 

        // 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

        File[]fs= f.listFiles();

 

        // 以字符串形式返回获取所在文件夹

        f.getParent();

 

        // 以文件形式返回获取所在文件夹

        f.getParentFile();

        // 创建文件夹,如果父文件夹skin不存在,创建就无效

        f.mkdir();

 

        // 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹

        f.mkdirs();

 

        // 创建一个空文件,如果父文件夹skin不存在,就会抛出异常

        f.createNewFile();

        // 所以创建一个空文件之前,通常都会创建父目录

        f.getParentFile().mkdirs();

 

        // 列出所有的盘符c: d: e: 等等

        f.listRoots();

 

        // 刪除文件

        f.delete();

 

        // JVM结束的时候,刪除文件,常用于临时文件的删除

        f.deleteOnExit();

 

 

文件

        File f = new File("d:/LOLFolder/skin/garen.ski");

 

        // 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

        f.list();

 

        // 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

        File[]fs= f.listFiles();

 

        // 以字符串形式返回获取所在文件夹

        f.getParent();

 

        // 以文件形式返回获取所在文件夹

        f.getParentFile();

        // 创建文件夹,如果父文件夹skin不存在,创建就无效

        f.mkdir();

 

        // 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹

        f.mkdirs();

 

        // 创建一个空文件,如果父文件夹skin不存在,就会抛出异常

        f.createNewFile();

        // 所以创建一个空文件之前,通常都会创建父目录

        f.getParentFile().mkdirs();

 

        // 列出所有的盘符c: d: e: 等等

        f.listRoots();

  

        // 刪除文件

        f.delete();

 

        // JVM结束的时候,刪除文件,常用于临时文件的删除

        f.deleteOnExit();

Arrays

 

数组复制

// 第一个参数表示源数组

// 第二个参数表示开始位置(取得到)

// 第三个参数表示结束位置(取不到)

 

int[] b = Arrays.copyOfRange(a, 0, 3);

 

 

 

转换为字符串

String content = Arrays.toString(a);

        System.out.println(content);

 

排序

Arrays.sort(a);

 

判断相同

Arrays.equals(a, b)

 

 

 

try catch

1.将可能抛出FileNotFoundException 文件不存在异常的代码放在try里

2.如果文件存在,就会顺序往下执行,并且不执行catch块中的代码

3. 如果文件不存在,try 里的代码会立即终止,程序流程会运行到对应的catch块中

4. e.printStackTrace(); 会打印出方法的调用痕迹,如此例,会打印出异常开始于TestException的第16行,这样就便于定位和分析到底哪里出了异常

          

        File f= new File("d:/LOL.exe");

 try{

            System.out.println("试图打开 d:/LOL.exe");

            new FileInputStream(f);

            System.out.println("成功打开");

        }

        catch(FileNotFoundException e){

            System.out.println("d:/LOL.exe不存在");

            e.printStackTrace();

 

finally

程序出错也执行

        finally{

            System.out.println("无论文件是否存在, 都会执行的代码");

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值