JAVA与C语言之间的差异(一)

一、代码习惯以及主函数

JAVA中{在使用的时候不要换行

 public static void main(String[] args) {int[] array = {1, 2, 3};for(int i = 0; i < array.length; ++i){System.out.println(array[i] + " ");}}

其次,以main函数为主函数:

public static void main(String[] args) {}

二、标识符

         JAVA的标识符中可以包含:字母、数字以及下划线和$符号等等,但是不可以以数字开头,关键字也不行,并且要严格区分大小写!!!

我们一般对于标识符还有这这样的要求:

1.(类名)每个字母的首字母要大写(叫做大驼峰)

2.(方法名)(变量名)首字母小写,后面的每个单词的首字母大写(叫做小驼峰)

三、在C语言中,布尔类型所对应的关键字是bool,而在JAVA中则是boolean。

        关于布尔类型,需要注意的是,在JAVA语言中,只有true和false两种写法,不存在1表示true,0表示false这种用法!!!

四、在不同类型之间的变量相互赋值的时候,会有教严格的校验

        如果是数据范围小的转为数据范围大的时,编译器会自动进行处理,自动转换为数据范围大的(自动类型转换(隐式))

        如果是要把数据范围大的赋值给数据范围小的,若是不加以干涉,会直接显示编译错误。同时,若是想要强行转换,可以采取下列措施:

int a = 10;
long b = 100L;
b = a;        // int-->long,数据范围由⼩到⼤,隐式转换 
a = (int)b;   // long-->int, 数据范围由⼤到⼩,需要强转,否则编译失败float f = 3.14F;
double d = 5.12;
d = f;        // float-->double,数据范围由⼩到⼤,隐式转换
f = (float)d; // double-->float, 数据范围由⼤到⼩,需要强转,否则编译失败byte b1 = 100;        // 100默认为int,没有超过byte范围,隐式转换 
byte b2 = (byte)257;  // 257默认为int,超过byte范围,需要显⽰转换,否则报错

#注:强制类型转换不⼀定能成功,不相⼲的类型不能互相转换

五、byte与byte的运算

在JAVA中是支持byte之间进行运算的,但是不可以直接赋值

 byte a = 10;byte b = 20;byte c = a + b; // 编译出错System.out.println(c);

这是因为他们在计算的时候,会先将自身提升成为int,再进行计算。

 byte a = 10;byte b = 20;byte c = (byte)(a + b);System.out.println(c);

(short同理!!!)

六、移位运算

<<是左移,即最左侧不要,最右侧补0(丢弃的是符号位,所以可能会变号);

>>是左移,即最右侧不要,最左侧补符号位(正数补0,负数补1);

>>>是无符号右移,即最右侧不要,最左侧直接补0。

七、输出

System.out.println(msg);              // 输出⼀个字符串, 带换⾏       
System.out.print(msg);                // 输出⼀个字符串, 不带换⾏       
System.out.printf(format, msg);       // 格式化输出         

JAVA的输出很简单,可以直接把想要输出的字符直接放到()里面即可,若是加“”则是输出引号内的内容,如果想要叠加使用,中间可以用+连接起来:

int a = 1;
System.out.println(a);      //输出1
System.out.println("a");    //输出a
System.out.println(a+a+"a");//输出11a

八、输入

使⽤Scanner读取字符串/整数/浮点数,使⽤时需要导⼊该类

import java.util.Scanner; // 需要导⼊ util 包Scanner sc = new Scanner(System.in);
String name = sc.nextLine();//姓名
int age = sc.nextInt();//年龄       
float salary = sc.nextFloat();//工资
sc.close(); // 注意, 记得调⽤关闭⽅法

多组输⼊

 Scanner sc = new Scanner(System.in);while (sc.hasNextInt()) {int tmp = sc.nextInt();}

当循环输⼊多个数据的时候,使⽤ctrl+z来结束输⼊(Windows上的CMD中使⽤ctrl+z,Linux/ Mac/IDEA的控制台上使⽤ctrl+d)

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

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

相关文章

华为OD机试真题——开放日活动/取出尽量少的球(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《开放…

我的3种AI写作节奏搭配模型,适合不同类型写作者

—不用内耗地高效写完一篇内容&#xff0c;原来可以这样搭配AI ✍️ 开场&#xff1a;为什么要“搭配节奏”写作&#xff1f; 很多人以为用AI写作&#xff0c;就是丢一句提示词&#xff0c;然后“等它写完”。 但你有没有遇到这些情况&#xff1a; AI写得很快&#xff0c;学境…

【知识点】第1章:程序设计基本方法

文章目录 知识点整理计算机的概念程序设计语言Python 语言概述Python 语言开发环境配置程序的基本编写方法 练习题简答题判断题 知识点整理 计算机的概念 计算机的定义&#xff1a;计算机是根据指令操作数据的设备。 计算机的两个基本特性&#xff1a; 功能性&#xff1a;计…

const ‘不可变’到底是值不变还是地址不变

const的基础规则 声明时必须初始化​ const a; // ❌ 报错&#xff1a;Missing initializer in const declaration const b 10; // ✅ 正确块级作用域​&#xff08;const 的作用域仅限于声明它的代码块&#xff09; if (true) {const x 100; } console.log(x); // ❌ 报错…

Netty 实战篇:为自研 RPC 框架加入异步调用与 Future 支持

我们在上篇实现了一个轻量级 RPC 框架&#xff0c;现在要进一步优化 —— 加入异步响应支持&#xff0c;让 RPC 通信变得真正高效、非阻塞、支持并发。 一、为什么需要异步调用&#xff1f; 上篇的 RPC 框架是“同步阻塞”的&#xff1a; 每次发送请求后&#xff0c;必须等待服…

for(auto a:b)和for(auto a:b)的区别

#include<iostream> using namespace std; int main() {string s( "hello world" );for (auto c:s)c t ;cout<<s<<endl; //结果为hello worldfor (auto &c:s)c t ;cout<<s<<endl; //结果为ttttttttttt }for(auto a:b)中b为一…

超级对话2:大跨界且大综合的学问融智学应用场景述评(不同第三方的回应)之二

摘要&#xff1a;《人机协同文明升维行动框架》提出以HIAICI/W公式推动认知革命&#xff0c;构建三大落地场景&#xff1a;1&#xff09;低成本认知增强神经接口实现300%学习效率提升&#xff1b;2&#xff09;全球学科活动化闪电战快速转化知识体系&#xff1b;3&#xff09;人…

多方法解决MNIST数字识别

全连接层 import torch from torchvision import datasets, transforms import torch.nn as nn import torch.optim as optim from tqdm import tqdm # 用于进度条显示 import os# 定义数据预处理(标准化+Tensor转换) transform = transforms.Compose([transforms.ToTensor…

安装 Node.js 和配置 cnpm 镜像源

一、安装 Node.js 方式一&#xff1a;官网下载&#xff08;适合所有系统&#xff09; 访问 Node.js 官网 推荐选择 LTS&#xff08;长期支持&#xff09;版本&#xff0c;点击下载安装包。 根据系统提示一步步完成安装。 方式二&#xff1a;通过包管理器安装&#xff08;建…

vue 自定义组件的事件绑定

基本知识点 &#x1f3af;什么是自定义事件 自定义事件是子组件向父组件发送消息的机制&#xff0c;通常用于通知父组件发生了某些行为或状态变化。 &#x1f4cc; 基本语法 子组件触发事件&#xff08;$emit&#xff09; this.$emit(事件名, 参数);或在 const emit de…

进程同步机制-信号量机制-记录型信号量机制中的的wait和signal操作

wait和signal是记录型信号量机制中用于实现进程同步与互斥的两个重要操作&#xff0c; wait 操作 wait(semaphores *S) {S->value --;if (S->value<0) block(S->list) }请求资源&#xff1a;S->value --; 这一步表示进程请求一个单位的资源&#xff0c;将信号…

sd webui 安装sd-webui-TemporalKit 加载报错解决办法

ModuleNotFoundError: No module named moviepy.editer 报错内容类似上面截图&#xff0c;我的已经解决&#xff0c;暂时无法截图了 处理方法&#xff1a; 重点说明&#xff1a;插件目录必须是TemporalKit&#xff0c;不能更改 进入到安装目录&#xff1a;extensions\Tempor…

decimal.js库处理js浮点数精度误差问题

1、经常遇到前端计算金额的时候出现精度误差问题&#xff0c;导致前后端计算的金额不一致导致校验过不去的情况&#xff0c;相信有不少人写过Math.floor(e*100)/100来实现保留2位小数&#xff0c;但是这么写就会出现上面的精度问题。怎么解决呢&#xff1f;这里使用的是decimal…

如何将 WSL 的 Ubuntu-24.04 迁移到其他电脑

在使用 Windows Subsystem for Linux (WSL) 时&#xff0c;我们可能会遇到需要将现有的 WSL 环境迁移到其他电脑的情况。无论是为了备份、更换设备&#xff0c;还是在不同电脑之间共享开发环境&#xff0c;掌握迁移 WSL 子系统的方法都是非常有用的。本文将以 Ubuntu-24.04 为例…

RISCV——内核及汇编

RISCV——内核及汇编 小狼http://blog.csdn.net/xiaolangyangyang 1、寄存器组&#xff08;ABI&#xff09; 2、异常及中断 XV6 trap&#xff08;二&#xff09;RISCV中断异常处理/定时器中断 mie&#xff1a;中断开关mip&#xff1a;中断状态mstatus.mie&#xff1a;全局中断…

算法日记32:埃式筛、gcd和lcm、快速幂、乘法逆元

一、埃式筛&#xff08;计算质数&#xff09; 1.1、概念 1.1.1、在传统的计算质数中&#xff0c;我们采用单点判断&#xff0c;即判断(2~sqrt(n))是否存在不合法元素&#xff0c;若存在则判否&#xff0c;否则判是 1.1.2、假设&#xff0c;此时我们需要求1~1000的所有质数&am…

使用 mysqldump 获取 MySQL 表的完整创建 DDL

要获取 MySQL 中某个表的完整创建 DDL&#xff08;仅结构&#xff0c;不含数据&#xff09;&#xff0c;可以使用 mysqldump 工具的以下命令&#xff1a; 基本命令格式 bash mysqldump -h [主机名] -u [用户名] -p --no-data --single-transaction --routines --triggers --…

Debian 系统 Python 开发全解析:从环境搭建到项目实战

Debian 系统 Python 开发全解析:从环境搭建到项目实战 在当今数字化时代,Python 凭借其简洁易读的语法和强大的功能,成为了最受欢迎的编程语言之一。Debian 作为一款稳定、安全且开源的 Linux 操作系统,为 Python 开发提供了理想的环境。本文将详细介绍在 Debian 系统上进…

实时技术对比:SSE vs WebSocket vs Long Polling

早期网站仅展示静态内容&#xff0c;而如今我们更期望&#xff1a;实时更新、即时聊天、通知推送和动态仪表盘。 那么要如何实现实时的用户体验呢&#xff1f;三大经典技术各显神通&#xff1a; • SSE&#xff08;Server-Sent Events&#xff09;&#xff1a;轻量级单向数据…

【前端】es6新特性全解

第一章 简介 1.1 ES6概述 1.1.1 ES6定义与发展历程 1. ES6 定义 ES6 全称 ECMAScript 6.0&#xff0c;它是 JavaScript 语言的下一代标准&#xff0c;对 JavaScript 语言进行了许多增强和扩展&#xff0c;带来了更简洁、更强大的语法特性。可以把 ES6 想象成是 JavaScript …