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

news2025/3/28 9:43:27

众所周知,Java是C风格的语言,对于学过C语言的人学Java可以快速适应。
废话不多说,直接边看代码边学。

数据类型,输入和输出

import java.util.Scanner;//为了使用Scanner
public class a1 {//a1是类名,就是文件名,所有的可执行代码需要写在这个里面
    //去掉class前面的public就可以让类名不与文件名相同
    public static final double pi=3.1415926;//定义常变量
    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是变量名,需和上一行声明的变量名相同
        //next后的Int表示输入的是int型的数据,若需要输入其他类型的,将Int改成对应类型即可
        //单独的next是输入一个单词,nextLine是输入一行字符
        //注意,如果输入的数据类型不匹配,程序会抛出 InputMismatchException,可以使用hasNextInt()进行检查,后面的Int同理
        //若之后不需要输入,可使用sc.close()关闭 Scanner 对象,释放相关的资源,sc是变量名
        sc.close();
        System.out.println(b1);//向终端输出操作,输出一个b1,注意,println是会自动换行的,去掉“ln”就不会自动换行
        System.out.print(b1 + "\n");//这行和上一行功能相同。提醒,“System.out.println”这些可在IDEA中输入“sout”快速通过提示打出
        System.out.printf("%d\n", b1);//跟C语言一样的用法
        boolean b2 = true, b3 = false;
        System.out.println(b2 + " " + b3);//注意,打印结果是“true false”
    }

四则运算和运算符

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语言中的用法相似
    }

条件语句和循环语句

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++;
                }
            }
        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2319035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工厂函数详解:概念、目的与作用

一、什么是工厂函数&#xff1f; 工厂函数&#xff08;Factory Function&#xff09;是一种设计模式&#xff0c;其核心是通过一个函数来 创建并返回对象&#xff0c;而不是直接使用 new 或构造函数实例化对象。它封装了对象的创建过程&#xff0c;使代码更灵活、可维护。 二、…

Python简单爬虫实践案例

学习目标 能够知道Web开发流程 能够掌握FastAPI实现访问多个指定网页 知道通过requests模块爬取图片 知道通过requests模块爬取GDP数据 能够用pyecharts实现饼图 能够知道logging日志的使用 一、基于FastAPI之Web站点开发 1、基于FastAPI搭建Web服务器 # 导入FastAPI模…

基于springboot的房产销售系统(016)

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于房产销售系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了房产销售系统&#xff0c;它彻底改变了过去传统的…

云盘搭建笔记

报错问题&#xff1a; No input file specified. 伪静态 location / {if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last;break;} } location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; break; } } 设…

《从深海到卫浴:Relax Max如何用军工科技重塑生活仪式》​

《从深海到卫浴&#xff1a;Relax Max如何用军工科技重塑生活仪式》​ 当瑞士联邦理工学院的一纸专利授权书揭开帷幕&#xff0c;卫浴行业终于意识到&#xff1a;Relax Max的「军工科技民用化」绝非营销噱头。这支由前潜艇工程师和航天材料学家组成的团队&#xff0c;将核潜艇…

【vulhub/wordpress靶场】------获取webshell

1.进入靶场环境&#xff1a; 输入&#xff1a;cd / vulhub / wordpress / pwnscriptum 修改版本号&#xff1a; vim docker-compose.yml version: 3 保存退出 开启靶场环境&#xff1a; docker - compose up - d 开启成功&#xff0c;docker ps查看端口 靶场环境80…

人工智能助力家庭机器人:从清洁到陪伴的智能转型

引言&#xff1a;家庭机器人进入智能时代 过去&#xff0c;家庭机器人只是简单的“工具”&#xff0c;主要用于扫地、拖地、擦窗等单一任务。然而&#xff0c;随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;家庭机器人正经历从“机械助手”向“智能管家”甚…

【第14节】windows sdk编程:进程与线程介绍

目录 一、进程与线程概述 1.1 进程查看 1.2 何为进程 1.3 进程的创建 1.4 进程创建实例 1.5 线程查看 1.6 何为线程 1.7 线程的创建 1.8 线程函数 1.9 线程实例 二、内核对象 2.1 何为内核对象 2.2 内核对象的公共特点 2.3 内核对象句柄 2.4 内核对象的跨进程访…

STM32U575RIT6单片机(四)

作业: 使用I2C获取SHT20传感器温湿度 使用I2C获取AP3216C三合一传感器: 光照, 接近, 红外 三个功能 合并的传感器 #ifndef SHT20_H #define SHT20_H#include "stdint.h" #include "i2c.h" #include "stdio.h" //1、确定从机的设备地址(代码不…

EMQX安装与配置

EMQX安装与配置 EMQX安装与配置 https://www.emqx.com/zh/downloads-and-install/broker?osUbuntucd /usr/local/srcwget https://www.emqx.com/zh/downloads/broker/4.4.19/emqx-4.4.19-otp24.3.4.2-1-ubuntu16.04-amd64.deb sudo apt install ./emqx-4.4.19-otp24.3.4.2-1…

JVM逃逸分析作用和原理

JVM逃逸分析作用和原理 在JVM的性能优化中&#xff0c;我们通常会关注内存分配、垃圾回收等问题。而逃逸分析&#xff08;Escape Analysis&#xff09;是JVM中一种精妙的优化技术&#xff0c;它可以在对象分配时判断该对象是否会在方法或线程之外被访问&#xff0c;从而影响其…

拓展 Coco AI 功能 - 智能检索 Hexo 博客

在之前的文章中&#xff0c;我们成功让 Coco AI 检索 Hugo 博客&#xff0c;这对于博客作者来说是一大福音。然而&#xff0c;从 Hexo 迁移到 Hugo 的成本不容小觑&#xff0c;毕竟大多数开发者对 Node.js 更熟悉&#xff0c;而 Golang 相对陌生。那么&#xff0c;既然 Coco AI…

爬虫基础之爬取猫眼Top100 可视化

网站: TOP100榜 - 猫眼电影 - 一网打尽好电影 本次案例所需用到的模块 requests (发送HTTP请求) pandas(数据处理和分析 保存数据) parsel(解析HTML数据) pyecharts(数据可视化图表) pymysql(连接和操作MySQL数据库) lxml(数据解析模块) 确定爬取的内容: 电影名称 电影主演…

LS-NET-006-思科MDS 9148S 查看内存

LS-NET-006-思科MDS 9148S 查看内存 方法一&#xff1a;使用 show version​ 命令 该命令可显示设备的基本系统信息&#xff0c;包括内存总量。 登录交换机的CLI&#xff08;通过控制台或SSH连接&#xff09;。输入命令&#xff1a; show version 在输出中查找类似以下内容…

小程序API —— 54 路由与通信 - 编程式导航

在小程序中实现页面的跳转&#xff0c;有两种方式&#xff1a; 声明式导航&#xff1a;navigator 组件编程式导航&#xff1a;使用小程序提供的 API 编程式导航 API 提供了五个常用的 API 方法&#xff1a; wx.navigateTo()&#xff1a;保留当前页面&#xff0c;跳转到应用内…

关于金融开发领域的一些专业知识总结

目录 1. 交易生命周期 1.1 证券交易所 1.1.1 交易前 1) 订单生成&#xff08;Order Generation&#xff09; 2) 订单管理&#xff08;Order Management&#xff09; 1.1.2 交易执行 3) 交易匹配&#xff08;Trade Matching&#xff09; 1.1.3 交易后 4) 交易确认&…

DeepSeek-R1深度解读

deepseek提出了一种通过强化学习&#xff08;RL&#xff09;激励大语言模型&#xff08;LLMs&#xff09;推理能力的方法&#xff0c;个人认为最让人兴奋的点是&#xff1a;通过RL发现了一个叫“Aha Moment”的现象&#xff0c;这个时刻发生在模型的中间版本中。在这个阶段&…

15-双链表-双链表基本操作

题目 来源 827. 双链表 - AcWing题库 思路 此题我只想说&#xff0c;千万千万别漏了头结点和尾结点&#xff0c;不然根本查不出来是哪里出了问题&#xff0c;因为传入的k会有问题&#xff1b;最左边插入&#xff0c;相当于是在头结点的右边插入&#xff08;也就是0号节点的右…

【小也的Java之旅系列】01 分布式、集群、微服务的区别

前言 做Java开发多年&#xff0c;一直以来都有想把Java做成一个系列的想法&#xff0c;最近整理自己的笔记发现有很多值得写的内容&#xff0c;但这些内容又往往杂乱不堪。CSDN上有很多高质量的Java博客&#xff0c;但大多不是从一个人成长的角度去写的。而我们——一个技术人…

基于视觉的核桃分级与套膜装置研究(大纲)

基于视觉的核桃分级与套膜装置研究&#xff1a;从设计到实现的完整指南 &#xff08;SolidWorks、OpenCV、STM32开发实践&#xff09; &#x1f31f; 项目背景与目标 1.1 为什么选择视觉分级与套膜&#xff1f; 产业痛点&#xff1a; 中国核桃年产量全球第一&#xff0c;但…