Java和C++的一些区别

简介: Java和C++的一些区别

读入输入:

Scanner in = new Scanner(System.in);

输出:

System.out.println(x);


java中的比较:

0<a<10 这样的语句是无效的

而在C/C++中是有效的,但表达的意思数学上的含义不同。


浮点数不能直接比较相等,因为计算机里浮点数是有误差的

通常使用  Math.abs(f1 - f2) < 0.00001 这样的方式

看他们的差是否非常小。


java布尔值  boolean        c++的叫bool

两种取值 true和flase



指针:

java里没有指针这个东西


java数组

int[] numbers = new int[100];

<类型>[] <名字> = new <类型> [个数]

个数可以是变量。

//像是C++的动态内存分配。

获取数组长度

numbers.length


java的数组和C的数组有些不同

int[] a = {1,2,3};

int[] b = a;

之后b与a是等价的,管理同一块内存。

对b数组操作等同于对a数组操作



Java的循环,while、do while、for 循环与C++相同。

但是有一个特别的。

通常braek只是退出它所在的那层循环。

java在循环前加上标签。break 标签就能退出标签标记的循环。

OUT:

for ( int i = 1; i < 100; i++) {

   for ( int j = 1; j < 100; j++) {

       if( j == 10 * i ) {

           System.out.println(j);

           break OUT;

       }

   }

}

使用一个标签,(这里名字叫OUT,实际使用时自己命名)

标记了外面的循环,所以在里面的循环使用break OUT时 也能跳出外层循环。


for each 循环

for (int k : data){

}

用于遍历数组,不修改数组元素的值

格式:

for ( <类型> <变量> : <数组>) {

}


相关文章
|
17天前
|
Java
在Java中Executor和Executors的区别?
·Executor是一个接口,定义了提交任务的方法。它只关注如何执行任务,不涉及线程池的创建和管理。   ·Executors是一个实用类,提供了创建和管理线程池的方法。它隐藏了一些线程池的细节,使得创建线程池变得更加方便。但是,它的一些默认线程池配置可能不适用于所有场景,特别是在处理大量任务时,可能需要更仔细地配置线程池参数以避免处理网资源耗尽或性能问题。   总之,Executor接口定义了执行任务的基本机制,而Executors类提供了一些预定义的线程池实例来简化线程池的创建和使用。在使用线程池时,根据实际情况,我们可以选择直接实现Executor接口来自定义执行策略,或者使用Execu
|
17天前
|
Java
Java中死锁与活锁的区别,死锁与饥饿的区别?
活锁是另一种并发问题,其中线程不断地改变自己的状态,以躲避其他线程,但最终无法取得进展。在活锁中,线程没有被阻塞,但它们却不能完成工作。活锁通常发生在线程试图避免死锁时。活锁的特点包括:   ·线程不断地改变自己的状态以避免其他线程,但最终无法取得进展。   ·线程仍在运行,但它们没有完成任务。   解决活锁问题通常需要引入随机性,例如在等待时引入短暂的休眠,以帮助线程更好地协调。
|
17天前
|
缓存 Java Android开发
|
1月前
|
Java
Java 中 Exception 和 Error 的区别
在 Java 中,`Exception` 和 `Error` 都是 `Throwable` 的子类,用于表示程序运行时的异常情况。`Exception` 表示可被捕获和处理的异常,分为受检异常(Checked)和非受检异常(Unchecked),通常用于程序级别的错误处理。而 `Error` 表示严重的系统级问题,如内存不足或 JVM 错误,一般不建议捕获和处理。编写程序时应重点关注 `Exception` 的处理,确保程序稳定性。
|
2月前
|
Java 编译器 程序员
java中重载和多态的区别
本文详细解析了面向对象编程中多态与重载的概念及其关系。多态是OOP的核心,分为编译时多态(静态多态)和运行时多态(动态多态)。编译时多态主要通过方法重载和运算符重载实现,如Java中的同名方法因参数不同而区分;运行时多态则依赖继承和方法重写,通过父类引用调用子类方法实现。重载是多态的一种形式,专注于方法签名的多样性,提升代码可读性。两者结合增强了程序灵活性与扩展性,帮助开发者更好地实现代码复用。
107 0
|
5月前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
212 9
|
5月前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
177 12
|
6月前
|
Java Android开发 C++
Java和C++
Java和C++
96 15
|
6月前
|
Java
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
今日分享的主题是如何区分&和&&的区别,提高自身面试的能力。主要分为以下四部分。 1、自我面试经历 2、&amp和&amp&amp的不同之处 3、&对&&的不同用回答逻辑解释 4、彩蛋
|
7月前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
156 14