在C语言基础上学Java【Java】【一】

众所周知,Java是C风格的语言,对于学过C语言的人学Java可以快速适应。

废话不多说,直接边看代码边学。

数据类型,输入和输出

java 复制代码
import java.util.Scanner;//为了使用Scanner
public class a1 {//a1是类名,就是文件名,所有的可执行代码需要写在这个里面
//去掉class前面的public就可以让类名不与文件名相同
    public static final double PI=3.1415926;//定义常变量,Java 约定常量使用全大写+下划线分隔命名
    public static void main(String[] args) {//主函数
        byte a0 = 0;//-128 到 127
        short a1 = 0;//-32,768 到 32,767
        int a2 = 0;//-2,147,483,648 到 2,147,483,647
        long a3 = 0;//-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
        float a4 = 0;//约 -3.40282347E+38 到 3.40282347E+38
        double a5 = 0;//约 -1.79769313486231570E+308 到 1.79769313486231570E+308
        char a6 = 'A';//0 到 65,535(Unicode 字符)
        boolean a7 = false;//true 或 false,布尔类型
        String a8 = "Hello java!";//字符串类型
        int a$12 = 1;//变量命名可以使用"$",其他和C语言中的命名法则相同
        Scanner sc = new Scanner(System.in);//sc是变量名,可更改,使用时需在开头加上"import java.util.Scanner;"
        int b1 = sc.nextInt();//键盘输入操作,输入一个数赋值给b1,sc是变量名,需和上一行声明的变量名相同
        System.out.println(b1);//向终端输出操作,输出一个b1,注意,println是会自动换行的,去掉"ln"就不会自动换行
        System.out.print(b1 + "\n");//这行和上一行功能相同。提醒,"System.out.println"这些可在IDEA中输入"sout"快速通过提示打出
        boolean b2 = true, b3 = false;
        System.out.println(b2 + " " + b3);//注意,打印结果是"true false"
    }
}

四则运算和运算符

java 复制代码
void a1() {//在Java中,将函数称为方法
        byte a0 = 0, a1 = 1, a2 = 2;//四则运算和C语言一样的表示方式
        a0 = (byte) (a1 + a2);//java中计算时通常会short,byte,char这些类型自动转成数据范围更大的类型
        // 在这里a1+a2的结果是int型的,需要强转
        int b1 = 0, b2 = 1, b3 = 2;
        ++b1;//也可以--b1
        b1++;//b1--
        b2 += 1;//也可以b2-=1,b2*=1,b2/=1,b2%=1,b2&=1;
        b3 = b2 | b1;//位运算符,还有&,^,~,<<,>>
        boolean c0 = b3 > b2;//也可以b2<b3,b3>=b2,b2<=b3,b2==b3,b2!=b3
        // 注意,像这种逻辑关系的结果是布尔型
        boolean c1 = b3 > b2 | b3 == b2;//逻辑或,两者中有真即为真,无论第一个是否为真都会去判断第二个是否为真
        boolean c2 = b3 > b2 || b3 == b2;//这行和上一行是作用是相同的,不同的是只要第一个为真就结束判断
        boolean c3 = b3 > b2 & b3 == b2;//逻辑与,两者都为真即为真,当然,"&"可写成"&&",原理和逻辑或相似
        int c4 = (a0 == 0 ? 1 : 2);//三元运算符,和C语言中的用法相似
    }

条件语句和循环语句

java 复制代码
void a2() {
        int a0 = 1;
        if (a0 > 0) {
            System.out.println("YES");
        }//同样,和C语言相似,也有if...else,if...else if...if,以及switch,用法也是相似的
        switch (a0) {
            case 1 -> System.out.println("1");//JDK14之后的新写法,等同于case 1:{System.out.println("1");break;}
            default -> System.out.println("2");
        }
        for (int i = 0; i < 10; i++) {
            a0++;//同样,和C语言相似,也有while,do...while,用法也是相似的
        }//也可以通过continue,break对循环进行操作,用法和C语言相似
        //注意,Java 保留了 goto 关键字,但禁止使用其实现跳转逻辑
        //在多层循环中,可以通过标签来跳到任意外层循环
        tag2 ://注意,标签通常不建议使用
        for (int i = 0; i < 10; i++) {
            tag1 :
            for (int j = 0; j < 10; j++) {
                for (int k = 0; k < 10; k++) {
                    if(a0>100)break tag2;//直接跳出最外层循环
                    if(a0>50)continue tag1;//跳到第二层循环的下一次迭代
                    a0++;
                }
            }
        }
    }
相关推荐
2601_962071575 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
zww89491115 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
zww89491118 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
黑马程序员毕设9 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳9 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
白山编程大哥9 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
devpotato10 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
xcl092510 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·spring boot·需求分析
Kyrie_kk10 小时前
Java--IO--Path文件访问
java·后端
qinqinzqq10 小时前
Maven POM 格式、Schema 与 XSD:一篇讲透
java·maven