在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++;
                }
            }
        }
    }
相关推荐
大梦谁先觉i2 分钟前
Spring 实现 3 种异步流式接口,干掉接口超时烦恼
java·后端·spring
Lenyiin2 分钟前
第 97 场周赛:公平的糖果交换、查找和替换模式、根据前序和后序遍历构造二叉树、子序列宽度之和
java·c++·python·leetcode·周赛·lenyiin
明天更新12 分钟前
oss存储分片的简单思路
java
凌冰_19 分钟前
IDEA2025 搭建Web并部署到Tomcat运行Servlet+Thymeleaf
java·servlet·tomcat
Seven9720 分钟前
剑指offer-53、表达数值的字符串
java
木楚21 分钟前
在idea中构建传统ssm框架的步骤和方式
java·ide·intellij-idea
董世昌4123 分钟前
JavaScript 中 undefined 和 not defined 的区别
java·服务器·javascript
Lisonseekpan29 分钟前
Kafka、ActiveMQ、RabbitMQ、RocketMQ对比
java·后端·kafka·rabbitmq·rocketmq·activemq
我是华为OD~HR~栗栗呀30 分钟前
(华为od)21届-Python面经
java·前端·c++·python·华为od·华为·面试
夕阳下的一片树叶91333 分钟前
后端java遇到的问题
java·开发语言