JAVA学习笔记1——语法基础


命名

  • 推荐命名格式
  1. 常量,全大写:
final float PI=3.1415;  
final char MY_KEY='k';
  1. 类名,首字母大写:
class Hello_world{}
  1. 变量,首词小写后词驼峰:
int myIntegerValue=123;
  • 文件名和类名一致
    源文件名*.java,文件名要和源文件内的类名一致
//文件名是Hello.java,类名也必须是Hello
public class Hello{
	void main(String[] args){ }
}

类型转换

  • 高→低,强制转换: (类型符)变量名,注意:可能会溢出!!!
int a=128;
byte b = (byte)a;   //byte 类型整数取值范围为 -128 ~ 127
//本例中,b内存溢出,值变成-128
  • 低→高,自动转换
byte b=64;
int a=b;
  • 取整(需要注意,整数间除/是向下取整——舍弃小数位,不是四舍五入!!)
int d=66/10;		//d=6
System.out.println(4/3);		//无小数位,默认视为整形,结果【向下取整!!】。输出:1
System.out.println(4/3.0);		//输出:1.3333333333333333
System.out.println(4/5f);		//输出:0.8
System.out.println(Math.round(4/5f));		//输出1

代码片段快捷键

vscode操作-用户代码片段的使用方法_myazwj的博客-CSDN博客_用户代码片段
已有的代码片段:
sout——System.out.println();
psvm——public static void main(String[] args){}

数学工具类 Math

//进行幂运算,比如3的5次方。
//要用到Math类,不能写成3^5
int a=Math.pow(3,5);

选择、循环结构

  • if选择结构
if(布尔表达式 1){……}
else if(布尔表达式 2){……}
else if(布尔表达式 3){……}
else {……}
  • switch 穿越
    一般swith的case语句后要用break跳出switch,不执行后续的语句;
    但有时候也会特意不写break,实现switch穿越的效果。例如:
for(int i=1; i<=5; i++){
    switch(i){
        case 0:
        case 1:
        case 2: System.out.println("i="+i+",i∈[0,1,2]"); break;
        default:
            System.out.println("i="+i+",i is not∈[0,1,2]"); break;
    }
}   

包机制

  • 包机制是为了更好的组织类,包的形式类似于多级目录。
    包机制p1
  • 用import语句导入其他包的类,要导入某个包下的所有类可以用*通配符,例如:
    包机制p2

获取输入(Scanner类)

import java.util.Scanner;
public class Loops {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  //扫描,键盘输入
        String inStr="";
        System.out.println("请输入1:");
        inStr=sc.next();
        System.out.println("Next():\t\t"+inStr);
        sc.nextLine();    //吸收next()剩下的换行符。
        System.out.println("请输入2:");
        inStr=sc.nextLine();
        if(sc.hasNextLine()){
            System.out.println("NextLine():\t\t"+inStr);
        }    
        /*next()在输入有效字符之后,将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
            nextLine()方法的结束符只是回车符'\n'。
            上述代码中nextLine放在next后,next()碰到回车符结束,此时’\n’这个回车字符会留在缓冲区里。
            next()读剩下的’\n’,会被后面的nextline()读取并结束,所以读取了空字符串,没办法读取后续的键盘输入值。 
            经过验证,next(),nextDouble()  ,nextFloat() ,nextInt() 等方法后面与nextLine()连用时都存在这个问题。
            -------解决的办法是:
                在每一个 next()、nextDouble()  、nextFloat()、nextInt() 等语句之后
                多加个nextLine()方法,将Enter结束符过滤掉。
            --------------
            */
        sc.close();
    }
}

类的方法,重载

在一个类中【传递参数不同】的两个同名方法。
例如:

int max(int a, int b){}
float max(float a, float b){}

对于面向对象,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编译之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。

可变参数

方法的形参可以定义为数组或可变参数,实现向方法传递不定数量(0~n)个参数:

public static void main(String[] args){}
public int max(int... x){ int max_x; ……//循环读取每个x,比较最大值并赋值给max_x; return max_x; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值