在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++;
                }
            }
        }
    }
相关推荐
驭渊的小故事3 小时前
MyBatis XML 开发实战:从配置到 CRUD 全解析
xml·java·mybatis
哦虎!8 小时前
【JavaEE】网络初识
java
for_ever_love__8 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
我是人✓9 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
欣栀♡9 小时前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
IT研究室9 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
慧都小项9 小时前
MyEclipse 中创建和测试 JAX-RS REST 接口:从项目配置到 REST Explorer
java·restful·myeclipse·jax-rs
Wang's Blog9 小时前
Java 项目实战: 交友项目 - 入门案例:编写 Dubbo 服务提供者
java·dubbo·交友
秋饼10 小时前
Spring AI 2.0 结构化输出企业级实战:从 BeanOutputConverter 源码到生产级解析容错
java·ai·技术分享·后端开发
摇滚侠10 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记