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

article/2025/8/19 3:09:32

一、while循环,do while循环

众所周知,while循环的结构是这样的:

 while(循环条件) {循环语句;}

在C语言中,可以直接再循环条件处写1,表示死循环,直到执行break才可以跳出,但是在JAVA中不可以,JAVA中这里的表达式必须是通过关系运算符进行判断后结果为true或false才可以!!!

do while循环同理!!!(很少使用)

二、方法(就是C语言中的函数)

1.方法的格式:

修饰符   返回值类型   ⽅法名称([参数类型  形参 ...]){⽅法体代码;[return 返回值];}

可以通过下面的例子了解:

 //检测⼀个年份是否为闰年public static boolean isLeapYear(int year){if((0 == year % 4 && 0 != year % 100) || 0 == year % 400){return true;}else{return false;}}//两个整数相加public static int add(int x, int y) {return x + y;}

#注:

(1)如果⽅法有返回值,返回值类型必须要与返回的实体类型⼀致,如果没有返回值,必 须写成void

(2)⽅法名字:采⽤⼩驼峰命名

(3)在Java当中,⽅法必须写在类当中

(4)在Java当中,⽅法不能嵌套定义

(5)在Java当中,没有⽅法声明⼀说

函数的调用同C语言一样!!!

#注:JAVA可以直接返回一个数组,这是C语言中办不到的!!!

(直接  “return  数组名”)

2.方法的重载

C语言中不支持两个同名的函数同时存在,而在我们高贵的JAVA中可以!!!

方法的重载可以简单理解为有几个同名的方法同时存在,他们之间参数列表不同,这样编译器在编译代码时会对实参进行推演,根据推演结果确定调用哪个方法(简单来说就是那个最合适用哪个)

 public class TestMethod {public static void main(String[] args) {add(1, 2);              // 调⽤add(int, int)   add(1.5, 2.5);          // 调⽤add(double, double)  add(1.5, 2.5, 3.5);     // 调⽤add(double, double, double)  }public static int add(int x, int y) {return x + y;}public static double add(double x, double y) {return x + y;}public static double add(double x, double y, double z) {return x + y + z;}}

三、数组

JAVA中数组的写法与C语言中有所区别:

1.一维数组

两种数组创建方法:

//动态初始化:在创建数组时,直接指定数组中元素的个数
int[] array = new int[10];// 静态初始化:在创建数组时不直接指定数据元素个数,⽽直接将具体的数据内容进⾏指定
int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};

#注:如果没有对数组进行初始化,那么将会默认存储对应的0值,boolean默认为FALSE,引用类型(String)默认为null。

在JAVA中,用数组对象.length来获取数组长度.

对于数组的遍历(就是打印一遍),JAVA中有着快捷的方法:

//for-each遍历数组int[] array = {1, 2, 3};for (int x : array) {System.out.println(x);}

2.null

null 在Java中表⽰"空引⽤",也就是⼀个不指向对象的引⽤

int[] arr = null;
System.out.println(arr[0]);// 执⾏结果 
Exception in thread "main" java.lang.NullPointerException at Test.main(Test.java:6)

null 的作⽤类似于C语⾔中的NULL(空指针),都是表⽰⼀个⽆效的内存位置.因此不能对这个内存进⾏ 任何读写操作.⼀旦尝试读写,就会抛出NullPointerException

3.数组转字符串

 import java.util.Arraysint[] arr = {1,2,3,4,5,6};String newArr = Arrays.toString(arr);System.out.println(newArr);// 执⾏结果 [1, 2, 3, 4, 5, 6]

4.数组拷⻉

import java.util.Arrays;public static void func(){//全拷贝(引用同一个数组)//改一个都会变int[] arr = {1,2,3,4,5,6};int[] newArr = arr;newArr[0] = 10;System.out.println("newArr: " + Arrays.toString(arr));//全拷贝(引用不同数组)//用Arrays中copyOf在拷贝的同时建一个新的数组//改一个另一个不变arr[0] = 1;newArr = Arrays.copyOf(arr, arr.length);System.out.println("newArr: " + Arrays.toString(newArr));//拷贝某个范围  [  ,  )int[] newArr2 = Arrays.copyOfRange(arr, 2, 4);System.out.println("newArr2: " + Arrays.toString(newArr2));}

5.二维数组

数据类型[][] 数组名称 = new 数据类型 [⾏数][列数]{ 初始化数据 };

#注:

(1)在JAVA中,⾏不可以省略,列可以省略

(2)二维数组必须用{}区分行,编译器没有办法自己判断划分!!!

 int[][] arr = {{1, 2, 3, 4},{5, 6, 7, 8}, {9, 10, 11, 12} };

6.不规则的二维数组

不规则的⼆维数组指的是,⼆维数组的列在定义的时候,没有确定。

 int[][] array = new int[2][];array[0] = new int[3];array[1] = new int[5];

上述⼆维数组就不是⼀个规则的⼆维数组。第1⾏有3列,第2⾏有5列。


http://www.hkcw.cn/article/kdeJmAEsbY.shtml

相关文章

环境温度通过H2A.Zub和H3K27me3动态调控拟南芥细胞命运决定

2025年4月22日,中国科学院遗传与发育生物学研究所肖军研究组在Developmental Cell在线发表了题为Dynamic control of H2A.Zub and H3K27me3 by ambient temperature during cell fate determination in Arabidopsis的研究论文,本研究综合运用ChIP-seq、C…

国际调解院正式落户香港有哪些亮点 凝聚国际人才

国际调解院将在香港成立,计划于5月30日在港举行《关于建立国际调解院的公约》签署仪式。在香港特区立法会行政长官互动交流答问会上,李家超表示,国际调解院在港设立对香港多方面有利,认为其影响深远,可不断发挥影响力,凝聚不同国家和地区的人才。他表示,特区政府愿意将人…

特朗普关税政策为何被暂时恢复 法院裁决引发争议

5月29日,美国联邦巡回上诉法院批准了特朗普政府的请求,暂时搁置了美国国际贸易法院此前做出的禁止执行依据《国际紧急经济权力法》对多国加征关税措施的裁决。联邦巡回上诉法院在裁决书中表示,在审议相关动议文件期间,美国国际贸易法院在这些案件中作出的判决和永久性禁令将…

中国寻亲网将关闭 负责人回应原因 公司注销不影响运营

中国寻亲网将关闭 负责人回应原因 公司注销不影响运营。近日,中国寻亲网在官方网站发布公告,宣布将于2025年7月15日正式关闭服务器。自5月1日起,该网站已停止发布新的寻亲信息,仅保留原有数据的修改功能。这一消息引起众多网友关注,并引发对关闭原因的猜测。寻子家长、电影…

大众中国CEO:中国人喜欢智能 欧洲人看中实用 市场偏好差异显著

大众中国CEO:中国人喜欢智能 欧洲人看中实用 市场偏好差异显著。大众中国CEO贝瑞德指出,中国消费者和欧洲消费者在电动汽车的偏好上存在显著差异。中国年轻用户群体对“智能座舱”和“语音交互”功能习以为常,电动车主的平均年龄不到35岁,他们崇尚数字体验。相比之下,欧洲…

C库-进程

库 头文件: #include<stdio.h> <>代表区系统路径下查找头文件 /usr/include #include"head.h" ""代表先去当前路径下查找头文件&#xff0c;找不到再去系统路径下查找 头文件也就是以.h结尾的文件&#xff0c;其中包含&#xff1a;宏定义…

华为OD机试真题——阿里巴巴找黄金宝箱Ⅰ(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

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

泡泡玛特成基金重仓新贵 消费投资聚焦“含新量”

泡泡玛特成基金重仓新贵 消费投资聚焦“含新量”!随着泡泡玛特在港交所挂牌并凭借爆款IP实现股价大幅上涨,不少曾经重仓持有贵州茅台的基金经理开始转向投资泡泡玛特。许多基金经理也在积极寻找能够复制泡泡玛特成功的新消费标的。一位长期关注新消费领域的公募基金经理表示,…

刘扬伟:富士康即将宣布第二家日本车企合作伙伴 电动车业务再扩展

刘扬伟:富士康即将宣布第二家日本车企合作伙伴 电动车业务再扩展!富士康董事长刘扬伟在股东大会上宣布,公司即将与第二家日本汽车制造商建立合作关系,继续拓展电动车业务。他提到两家日本车厂中,一家已经公布,另一家也快了,但未透露更多细节。本月早些时候,富士康旗下的…

美若禁止对华出售EDA对我国有何影响 芯片设计工具受限

美若禁止对华出售EDA对我国有何影响 芯片设计工具受限!经历两天传闻后,两家美国芯片EDA大厂Synopsys(新思科技)和Cadence(楷登电子)确认,美国商务部工业和安全局(BIS)要求它们对中国企业断供芯片设计EDA软件工具。Synopsys在5月29日发布公告称,公司收到了BIS的信函,…

女子称坐飞机万元金手链托运后丢失 行李完好首饰不翼而飞

5月26日,杨女士在社交平台发布视频称,她在25日搭乘春秋航空公司的航班从西安返回宁波。落地后发现托运行李中一条价值一万两千余元的金手链不见了。奇怪的是,该金手链的内外包装完好无损。目前,宁波市公安局机场分局已接到杨女士的报警,并受理此案。杨女士表示,她原本不打…

网飞回应苦尽柑来遇见你霸凌风波 剧组工作方式受质疑

网飞(Netflix)热播韩剧《苦尽柑来遇见你》近日被质疑剧组工作人员压榨群演,霸凌风波持续发酵。韩国网络上关于该剧拍摄现场工作方式严苛的爆料不断涌现,爆料人疑似为群演或外包公司员工。有人控诉剧组不愿在非主演身上花钱,不允许群演穿保暖内衣和使用取暖设备,寒冬时节放…

亲妈拿走孩子80多万买房再婚被起诉 法院:全额返还并支付利息

5月29日,南通中院通报了一起典型案例。女子丁某离婚时约定,儿子小雷(化名)随丁某共同生活,男方给付小雷生活费70万元。同时约定这笔钱及长辈给的13.8万元,应作为小雷购买某房产的产权份额。后来,丁某签订房屋买卖合同,并陆续支付房款83.8万元。同年,丁某与汪某登记结婚…

动车弓网检测系统助力铁路运行安全

动车弓网检测是铁路运营中至关重要的环节&#xff0c;其重要性不言而喻&#xff0c;弓网检测可以保障行车安全&#xff0c; 提升运行效率。 检测重点内容 接触网&#xff1a;导线高度、拉出值、磨损、悬挂部件状态。 受电弓&#xff1a;碳滑板厚度、动态接触压力、框架变形。…

部分机票低于1.3折 错峰出游正当时

部分机票低于1.3折 错峰出游正当时。近期全国多地机票价格明显下降,业内人士表示暑假前是错峰出游的好时机。有网友兴奋地表示要马上出发。近日,在一些旅游门店观察到,许多市民正计划利用淡季出行。未来一个月内,从广州飞往昆明、上海、南京、武汉等多个热门旅游城市的机票…

litctf2025复现

[LitCTF 2025]nest_js 开始是一个登录界面&#xff0c;随便输入发现没回显&#xff0c;抓包看看&#xff0c;没看出来什么&#xff0c;猜一下账号是admin直接用常用密码字典爆破 得到密码是password&#xff0c;登录就有flag [LitCTF 2025]test_your_nc 进去就叫我们输入指令…

【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)

1.目标 网址&#xff1a;https://y.qq.com/n/ryqq/toplist/26 我们知道了 sign P(n.data)&#xff0c;其中n.data是明文的请求参数 2.webpack生成data加密参数 那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>}&#xff0c;所以L(n.data) 是一个异步函数…

MySql(五)

目录 修改表 1--修改表中列的 数据类型 或长度 &#xff08;Modify&#xff09; 语法 格式&#xff1a; 对student的中的 student_info 字段进行修改 1....修改字段长度 2....修改字段类型 2--修改表中的列名&#xff08;change&#xff09; 语法格式&#xff1a; 修改列名 3.删…

C++_核心编程_ 左移运算符重载 “<<” 左移运算符

作用&#xff1a;可以输出自定义数据类型 */ //目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; /* #### 4.5.2 左移运算符重载 “<<” 左移运算符 作用&#xff1a;可以输出自定义数据类型 *///目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; class…

GESP2024年6月认证C++二级( 第三部分编程题(1)平方之和)

参考程序&#xff1a; #include <bits/stdc.h> using namespace std;// 判断一个数是否为完全平方数&#xff08;返回 true 表示是&#xff09; bool check(int x) {int y sqrt(x); // 求平方根return y * y x; // 如果 y*y 恰好等于 x&#xff0c;说明 x 是完全…