当前位置: 首页 > article >正文

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)

相关文章:

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] " ");}} 其次&#xff0c;以main函数为主函数&#xff1a; public …...

深入剖析 C 语言中的指针数组与数组指针

资料合集下载链接: ​​https://pan.quark.cn/s/472bbdfcd014​​ 在C语言中,指针是其强大和灵活性的核心。然而,围绕指针的概念有很多容易混淆的地方,其中“指针数组”和“数组指针”就是一对常见的“双胞胎”概念。它们名称相似,但含义和用法却大相径庭。 本文旨在清…...

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一个模块&#xff0c;专门用于处理结构化数据。它引入了DataFrame这一编程抽象&#xff0c;DataFrame是带有Schema信息的分布式数据集合&#xff0c;类似于关系型数据库中的表。用户可以通过SQL、DataFrames API和Datasets API三种方式操作结构化数据…...

【VSCode-Qt】Docker远程连接的项目UI文件在 VSCode 上无法预览

Docker远程连接的UI文件在 VSCode 上无法预览&#xff0c;通常是因为 VSCode 通过远程开发扩展&#xff08;Remote - SSH/Docker&#xff09;连接到 Docker 容器时&#xff0c;某些图形化功能未正确配置或支持。以下是可能原因和解决方案&#xff1a; 原因分析 X11 转发未配置…...

redis五种数据结构详解(java实现对应的案例)

一、简述 Redis是一款高性能的键值对存储数据库&#xff0c;它支持五种基本数据类型&#xff0c;分别是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。 二、五种基本数据类型 2.1 字符串(String) String是Redis最基本的类型&#xff0c;一个key对…...

Telnet 命令详解

Telnet 命令详解&#xff1a;从基础到实战应用 Telnet 是一种历史悠久的网络协议&#xff0c;广泛用于远程登录和管理设备。尽管如今更安全的 SSH 协议已逐渐取代其地位&#xff0c;但 Telnet 在特定场景下依然发挥着重要作用。本文将深入解析 Telnet 命令的参数、使用场景及注…...

深度解析新能源汽车结构与工作原理

一、核心系统架构 新能源汽车主要由三大核心系统构成&#xff1a; 电力驱动系统&#xff1a;包含永磁同步电机、电机控制器&#xff08;MCU&#xff09;及减速器&#xff0c;采用三合一集成设计实现轻量化。永磁同步电机通过电磁感应原理将电能转化为机械能&#xff0c;其效率可…...

React 生命周期与 Hook:从原理到实战全解析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 持续学习&#xff0c;不断…...

OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器

好的&#xff0c;我们可以使用 OpenSSL 与 C 搭建一个支持 TLS 1.3 的服务器。下面是&#xff1a; ✅ 一、完整示例代码&#xff08;基于 OpenSSL&#xff09; 使用 C 和 OpenSSL 创建一个简单的 TCP TLS 服务器&#xff0c;支持 TLS 1.3。 ✅ 代码&#xff1a;tls_server.cp…...

HOW - 简历和求职面试宝典(六)

文章目录 1. 如何更好地认识自己?一、认清自己的实力二、明确求职方向三、认识求职岗位与自己的匹配度2. 如何判断公司是否合适自己?一、网站平台二、内部人员三、通过面试官1. 如何更好地认识自己? 一、认清自己的实力 我们经常会听到这样的话:我现在的工作做的好不开心…...

【机器学习基础】机器学习入门核心算法:逻辑回归(Logistic Regression)

机器学习入门核心算法&#xff1a;逻辑回归&#xff08;Logistic Regression&#xff09; 一、算法逻辑1.1 基本概念1.2 Sigmoid函数1.3 决策边界 二、算法原理与数学推导2.1 概率建模2.2 损失函数推导2.3 梯度下降优化2.4 正则化处理 三、模型评估3.1 常用评估指标3.2 ROC曲线…...

深入理解设计模式之命令模式

下面是一篇关于设计模式之命令模式&#xff08;Command Pattern&#xff09;的详细博客&#xff0c;并附有 Java 实现代码示例。 深入理解设计模式之&#xff1a;命令模式&#xff08;Command Pattern&#xff09; 一、什么是命令模式&#xff1f; 命令模式&#xff08;Comma…...

智能仓储落地:机器人如何通过自动化减少仓库操作失误?

仓库作业的速度和准确性至关重要&#xff0c;尤其是在当前对无差错、高效作业的要求达到前所未有的环境下。每一个错误&#xff0c;无论是物品放错位置还是库存差异&#xff0c;都会在供应链中产生连锁反应&#xff0c;造成延误、增加成本&#xff0c;并最终影响客户满意度。 …...

Android 架构演进之路:从 MVC 到 MVI,拥抱单向数据流的革命

在移动应用开发的世界里&#xff0c;架构模式的演进从未停歇。从早期的 MVC 到后来的 MVP、MVVM&#xff0c;每一次变革都在尝试解决前一代架构的痛点。而今天&#xff0c;我们将探讨一种全新的架构模式 ——MVI&#xff08;Model-View-Intent&#xff09;&#xff0c;它借鉴了…...

[低代码表单生成器设计基础]ElementUI中Layout布局属性Form表单属性详解

Layout 布局 ElementUI 的 Layout 布局系统基于 24 栏栅格设计&#xff0c;提供了灵活的响应式布局能力&#xff0c;适用于各种页面结构的构建。(CSDN) &#x1f4d0; 基础布局结构 ElementUI 的布局由 <el-row>&#xff08;行&#xff09;和 <el-col>&#xff0…...

数据结构7——二叉树

一、二叉树的定义与性质 1.定义 首先是树形结构&#xff0c;每个节点最多有2棵树&#xff0c;二叉树的子树有左右之分&#xff0c;不能颠倒。 2.性质 &#xff08;1&#xff09;二叉树的第i层,最多有2的&#xff08;i-1)次幂。 &#xff08;2&#xff09;深度为k&#xff0…...

从“被动养老”到“主动健康管理”:平台如何重构代际关系?

在老龄化与数字化交织的背景下&#xff0c;代际关系的重构已成为破解养老难题的关键。 传统家庭养老模式中&#xff0c;代际互动多表现为单向的“赡养-被赡养”关系。 而智慧养老平台的介入&#xff0c;通过技术赋能、资源整合与情感连接&#xff0c;正在推动代际关系向“协作…...

Java 中的 synchronized 和 Lock:如何保证线程安全

Java 中的 synchronized 和 Lock&#xff1a;如何保证线程安全 引言 在 Java 多线程编程中&#xff0c;线程安全是一个核心问题。当多个线程同时访问共享资源时&#xff0c;可能会导致数据不一致或其他不可预期的结果。synchronized关键字和Lock接口是 Java 中实现线程同步的…...

贪心算法应用:最大匹配问题详解

Java中的贪心算法应用:最大匹配问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的算法策略。在Java中,贪心算法可以应用于多种问题,其中最大匹配问题是一个经典的应用场景。下面我将从基础概念到具体实现,全面详细地讲解贪…...

爬虫IP代理效率优化:策略解析与实战案例

目录 一、代理池效率瓶颈的根源分析 二、六大核心优化策略 策略1&#xff1a;智能IP轮换矩阵 策略2&#xff1a;连接复用优化 策略3&#xff1a;动态指纹伪装 策略4&#xff1a;智能重试机制 三、典型场景实战案例 案例1&#xff1a;电商价格监控系统 案例2&#xff1a…...

豆瓣电视剧数据工程实践:从爬虫到智能存储的技术演进(含完整代码)

通过网盘分享的文件&#xff1a;资料 链接: https://pan.baidu.com/s/1siOrGmM4n-m3jv95OCea9g?pwd4jir 提取码: 4jir 1. 引言 1.1 选题背景 在影视内容消费升级背景下&#xff0c;豆瓣电视剧榜单作为国内最具影响力的影视评价体系&#xff0c;其数据价值体现在&#xff1a…...

【HW系列】—C2远控服务器(webshell链接工具, metasploit、cobaltstrike)的漏洞特征流量特征

文章目录 蚁剑、冰蝎、哥斯拉一、蚁剑&#xff08;AntSword&#xff09;流量特征二、冰蝎&#xff08;Behinder&#xff09;流量特征三、哥斯拉&#xff08;Godzilla&#xff09;流量特征 metasploit、cobaltstrike一、Metasploit流量特征二、CobaltStrike流量特征三、检测与防…...

5.28 孔老师 nlp讲座

本次讲座主要介绍了语言模型的起源、预训练模型以及大语言模型&#xff08;需要闫老师后讲&#xff09;等内容。首先&#xff0c;语言模型的起源可以追溯到语音识别中的统计语言模型&#xff0c;通过估计声学参数串产生文字串的概率来找到最大概率的文字串。然后&#xff0c;介…...

基于微信小程序的漫展系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…...

打卡day39

一、 图像数据的介绍 1.1 灰度图像 # 先继续之前的代码 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具 from torchvision import datasets, transforms…...

基于Web的分布式图集管理系统架构设计与实践

引言&#xff1a;为什么需要分布式图集管理&#xff1f; 在现代Web图形应用中&#xff0c;纹理图集&#xff08;Texture Atlas&#xff09;技术是优化渲染性能的关键手段。传统的图集制作流程通常需要美术人员使用专业工具&#xff08;如TexturePacker&#xff09;离线制作&am…...

mysql执行sql语句报错事务锁住

报错情况 1205 - Lock wait timeout exceeded; try restarting transaction先找出长时间运行的事务 SELECT * FROM information_schema.INNODB_TRX ORDER BY trx_started ASC;终止长时间运行的事务 KILL [PROCESS_ID];...

Java消息队列应用:Kafka、RabbitMQ选择与优化

Java消息队列应用&#xff1a;Kafka、RabbitMQ选择与优化 在Java应用领域&#xff0c;消息队列是实现异步通信、应用解耦、流量削峰等重要功能的关键组件。Kafka和RabbitMQ作为两种主流的消息队列技术&#xff0c;各有特点和适用场景。本文将深入探讨Kafka和RabbitMQ在Java中的…...

零基础设计模式——结构型模式 - 组合模式

第三部分&#xff1a;结构型模式 - 组合模式 (Composite Pattern) 在学习了桥接模式如何分离抽象和实现以应对多维度变化后&#xff0c;我们来探讨组合模式。组合模式允许你将对象组合成树形结构来表现“整体-部分”的层次结构。组合模式使得用户对单个对象和组合对象的使用具…...

额度年审领域知识讲解

金融领域的“额度年审”是一个非常重要的常规性工作。它指的是金融机构&#xff08;主要是银行&#xff09;对其授予客户的各种信用额度或授信额度&#xff0c;在授信有效期内&#xff08;通常是一年&#xff09;进行周期性的重新评估、审查和确认的过程。 核心目的&#xff1…...