每天3小时学习JAVA (2)----JAVASE基本语法学习

本文概述了Java编程的基础概念,包括变量和类变量的使用、类型转换、运算符规则、包机制、帮助文档JavaDoc的创建、Scanner的使用、流程控制(包括do-while和for循环)、方法重载和可变参数,以及递归的实现。
摘要由CSDN通过智能技术生成

day2

照常碎碎念:

都一些基础,学过c++很快就能学完

变量

  1. 类变量: 在类里面声明类似于static int a=7的

  2. 实例变量: 在类里面声明变量,没有static关键词,如果在初始类时没初始化这些变量,其会变成对应类型的默认值 eg: int->0 string->null

  3. 常量: 类似于c++的const java内关键词为final,之后不能改变其值

  4. static,final,private等等这种修饰词不区分前后顺序,例如final static int=0 或者 static final=0

  5. 命名规范:请添加图片描述变量与函数名都采取首字母小写和驼峰 常量采取大写字母和下划线 类名首字母大写和驼峰请添加图片描述

运算符

  1. 数值运算中遇到两个变量不同类型的,会把字节数少的类型自动转成较大的类型,例如int+long 会把int转成long,如果需要强制转换需要在前面加上int,列如将long a转成int为int(a),但这样会把long类型前面的4个字节截断。

  2. byte:一个字节的带正负的类型(java中没有无符号整数类型???)

  3. a++与++a: a++先赋值再相加 ++a先相加再赋值

  4. &&符号前面要是是假的,后面就不执行不判断

  5. 位运算:&与 |或 ~非 ^异或

  6. 有符号右移>>:若该数为正则高位补0,该数为负则高位补1;左移<<直接低位补0;(涉及到计组中的补码)

  7. 无符号右移>>>:无论正负,高位补0

  8. 三元运算符a? b:c 若a会真则b,a为假则c

包机制

  1. package: 通常使用域名倒置例如 package com.sun.www
  2. 如果需要使用其他包的类,需要使用Date的话,需要import java.util.Date 注意!!!import要在package下面 加上*后会将该package中所有的类导入进来,会降低编译速度但不会降低运行速度, java中会默认导入java.lang包下所有类
  3. 请添加图片描述

帮助文档 JavaDoc

使用这样可以加帮助文档
请添加图片描述
在命令行中输入如下,可以生成帮助文档,使编码和字符集为UTF-8可以防止中文出错

请添加图片描述

请添加图片描述

点击index.html即可查看文档

在Intellij中也可以生成JavaDoc文档,tool -> Generate JavaDoc

流程控制

  1. Scanner: 使用new Scanner(System.in)来创建对象,函数hasNext()代表是否有输入 next()为拿到用户的输入信息 注意使用完后要close()节省内存。
    有两个函数next()和nextLine()区别:
    next()一定要读取到有效字符才可以结束输入,得到有效字符后会将后面输入的空白作为结束符,不能得到带有空格的字符串!

    请添加图片描述

    nextLine()以Enter作为结束字符,可以得到带有空格的字符串
    请添加图片描述

    hasNextInt()判断输入的是否是整数 其他的类似

  2. if switch类似c++ 但是java中switch中的判断可以为字符串 IDEA可以通过打开class文件来进行反编译 字符串在switch中是通过哈希值来实现的

  3. while do-while for与c++一样,do-while保证执行一次,先执行再判断
    for(x:数组或集合)这样可以遍历数组或集合中的元素

  4. 可以在continue之前加入标签,以实现goto
    请添加图片描述

方法 (即函数)

  1. java中是值传递(真没有引用传递吗?)

  2. 方法重载规则:
    1、方法名称必须相同
    2、参数列表必须不同(个数不同、类型不同、参数排列顺序不同)
    3、仅仅返回类型不同不足以成为方法的重载

    原理:方法名称相同时,编译器会根据调用方法的参数个数,类型去逐个匹配!

  3. 命令行传参,通过java+ 编译文件 +参数可以传参数到main函数中 其次运行时要输入完整的包路径,否则无法运行

  4. 可变参数:在方法的最后一个参数中写…可以传入多个且不定数量的参数,如public void test(int …)
    注意!!!一定要在最后一个参数中加…否则会报错,列如public void test(int … a, int b)会报错

  5. 递归与c++类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值