Java SE知识点一:基础知识

前言:

刚学过C语言再学Java SE感觉还可以,因为一些基础的知识,比如数据类型,变量,运算符,条件和循环都差不多。再往后会有一些不同于C语言的语法,比如 “方法”,“类”,“对象”,“多态”,“接口” 等等。但总体学下来感觉 java 是在C的基础上进行改进的语言,改进了C语言的一些比较麻烦的地方,也继承了C的好的语法。

总的来说,Java是一门易上手的语言,是一门面向对象的语言,也是比较安全的语言(没有C/C++的指针操作)。

1.  数据类型与变量

1. main方法:

Java的main方法主要也是用来运行代码的方法,与C语言的main方法的写法有些不同:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello,world");
    }
}

上面就是Java的“Hello,world”,看起来是比C的main函数复杂一些,主要由三个部分构成:

源文件(xxx.java):一个源文件中包含不同的类,有且只有一个和文件名相同的类。

类:包含一个或多个方法,有且只有一个main方法。

方法:由花括号{}以及里面的语句组成,类似于C语言的函数。

2. 常量

常量就是可以直接打印出来的固定不变的量。

public class Test1{
    public static void main(String[] args){
        System.Out.println("hello world!");
        System.Out.println(10);
        System.Out.println(6.18);
        System.Out.println('A');
        System.Out.println(true);
        System.Out.println(false);
    }
}

上面的就是一些常见的常量:字符串,整形,浮点数,字符,布尔值等。

3. 变量

变量的初始化也和C语言异曲同工。

public class Test2{
    public static void main(String[] args){
        int a = 10;
        double b = 2.34;
        char c = "C";
        boolean d = true;
        System.Out.println(a);
        System.Out.println(d);
        System.Out.println(c);
        System.Out.println(b);
    }
}

除了这些,还有长整型long,短整型short ,以及字节变量byte。

类型的转换也和C语言相同,分为显式转换和隐式转换。

需要注意的是,Java中提供了字符串类型:

public class Test2{
    public static void main(String[] args){
        String str1 = "hello";
        String str2 = "world";
        System.Out.println(str1);
        System.Out.println(str2);

        //整型转字符串
        int num = 12345;
        String str3 = String.valueOf(num);
        
        //字符串转整型
        String str4 = "98765";
        int num2 = Integer.parselnt(str4);
    }
}

以上就是一些比较常用的Java的数据类型与变量。

2. 运算符

1. 基本运算符

 +,-,*,/,% 这些基本的运算与C语言相同,另外还有:

增量运算符 +=,-=,/=,*=,%=

自加自减运算符 ++, --

关系运算符 ==, >, <, !=, >=, <= 

逻辑运算符 &&与,||或,! 非

位运算符(重点): 

按位与&,二进制中,两个二进制位都是1,则结果为1,否则为0

按位或 |,二进制中,两个二进制位都是0,则结果为0,否则为1

按位取反~,二进制中,二进制位是1,结果为0,反之

按位异或^,二进制中,若一个二进制位是1,另一个是0,则结果为1,若两个二进制位都相同,则结果为0

2. 运算符的优先级

比较典型的是 * 和 / 的优先级高于 + 和 - ,我认为不必记其他的优先级,必要时加上括号即可。

3. 条件分支和循环

1. 条件语句

if 条件:
public class Test3{
    public static void main(String[] args){
        int score = 89;

        if (score > 90){
            System.out.println("优秀");
        } else if (score > 80){
            System.out.println("良好");
        } else if(score > 60){
            System.out.println("通过");
        } else {
            System.out.println("不及格");
        }
    }
}

从上面代码可以看出,Java的if条件语句与C语言相同。

switch 条件:
public class Test4{
    public static void main(String[] args){
        int day = 1;
        //switch 中的判断条件也可以用字符char判断
        switch(day) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            //........
        }
    }
}

switch也支持嵌套,但一般不用。

2. 循环语句

和C语言中的循环差不多,分为 while 循环,for 循环 和 do - while 循环。

while 循环:
public class Test4{
    public static void main(String[] args){
        //计算 5 的阶乘
        int i = 1;
        int fac = 1;
        while (i <= 5){
            fac *= i;
            i++;
        }
        System.out.println(fac);
    }
}
for 循环:
public class Test6{
    public static void main(String[] args){
        //计算 5 的阶乘
        int fac = 1;
        for (int i = 1; i <= 5; i++){
            fac *= i;
        }
        System.out.println(fac);
    }
}

其中,break 和 continue 的用法和C语言完全相同,break直接跳出当前循环;continue 不执行下面的语句,回到起始位置继续循环。

do - while 循环:

先执行一次语句,再进入判断,由于不是常用所以就不举例了。

4. 输入和输出

1. 输出

前面代码以及展示很多输出了

System.out.println();
//前面两个词是固定语句,后面的println 表示输出完直接换行,表示换行输出。
System.out.print();
// print 表示不换行输出。


System.out.printf(format, msg); 
// 格式化输出,例如:
int x = 10;
System.out.printf("x = %d\n", x)

2. 输入

普通输入:
import java.util.Scanner; // 需要导入util包,一般使用IDEA,直接输出Scanner就自动导入

Scanner sc = new Scanner(System.in); 
//基本语法,sc 相当于你命名的输入命令,后面使用 sc.xxx

System.out.println("请输入你的姓名:");
String name = sc.nextLine();       // .nextLine()表示输入一行,多用于字符串

System.out.println("请输入你的年龄:");
int age = sc.nextInt();            // .nextInt()表示输入整型

System.out.println("请输入你的工资:");
float salary = sc.nextFloat();        // 输入浮点数

System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);

sc.close(); // 注意, 要记得调用关闭方法
多行输入:
Scanner sc = new Scanner(System.in);

int sum = 0;
int num = 0;

// 循环输入
while (sc.hasNextInt()) {
    int tmp = sc.nextInt();
    sum += tmp;
    num++;
}

System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);

sc.close();

总结:

从上面的知识点不难看出,Java 的语法和 C语言有异曲同工之妙,因为Java 是在 C 的基础上发展的。接下来的内容可能会与 C语言 有些不同,但整体思想差不多,只是换了形式。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值