java基本语法(内涵与C++的不同)

java语法

        在介绍java中,我会去书写一些java语言与C++的不同点。

目录

java语法

变量、运算符、输入与输出

        内置数据类型

        常量

        运算符

两种输入输出

输入

        方法一

        方法二

输出

        方法一

        方法二

判断语句

        if-else语句

        switch语句

        逻辑表达式和条件运算符

循环语句

数组

字符串

函数

类与接口

常用容器


变量、运算符、输入与输出

        内置数据类型

类型字节数数据范围
byte1-128~127
short2-32768~32767
int4-2147483648~2147483647(2*10^9)
long8-9223372036854774808~9223372036854774807(9*10^18)例如:1324323L(表示常数L)
float4精度6~7位  例如:1.2F,与c++相同
double8精度15~17位 例如:1.2,1.2D(1.2默认类型为Double)
boolean1true、false
char2'A' 根据ASCLL存储

        除了基本数据类型之外,Java提供了Integer对int的封装类,Java还提供了BigDecimal类来处理高精度小数。BigDecimal类可以表示任意精度的小数,其小数位数不受限制,可以满足各种计算需求。 

注意:与C++不同的

1、java中的long类型相当于c++中的long long类型

2、java中有2个字节,而c++中的char只有1字节

3、java中int类型没有boolean的属性,c++中数字0表示false,其他表示true等

        常量

                使用final修饰常量,相当与c++中的const

        运算符

                显示转化:与c++相同,int d=(int)3.1415;

                隐式转换:与c++不同,只能从高精度转为低精度。

注意:int a=3.14*5,在java中会报错,在c++中会得到15的结果

                表达式:与c++基本相同。如:int a=b*c+d;

注意:java中不能使用a=b,c=d....;会报错。

          正确写法

          a=b;

          c=d;

          .....

          当然,在申明变量时,如:int a=1,b=2,c=10;这样是支持的。

两种输入输出

输入
        方法一
//这种是快速输入,输入时的效率不高,相当于c++中cin
import java.util.Scanner;Scanner sc=new Scanner(System.in);//输入字符串
sc.next()
sc.nextLine()//最为特殊,会接受无效字符,其他输入形式都不会。//输入数字类型---与sc.next()的接受方式相同,只接受有效字符,不接受无效字符(enter、blank、tab)
sc.nextByte();
sc.nextShort();
sc.nextInt();
sc.nextLong();
sc.nextBigInteger();//输入浮点类型
sc.nextFloat();
sc.nextDouble();//输入boolean类型
sc.nextBoolean();

 注意:next()和nextLine()的区别

           1、next()只接受有效字符串,当有效字符前有无效字符(tab、blank、enter)会直到接收到有效字符,之后遇到无效字符会结束。如:输入“     hello world",输出:“hello”

           2、nextLine()接受一行字符串,当遇到enter时,会结束。

//next()不会接受enter等无效字符
String str1=sc.next();
String str2=sc.nextLine();输入chenzihao
hello world输出
chenzihao
null
        方法二
import java.io.BufferedReader;
import java.io.InputStreamReader;//较为高效的输入方法,相当于c++中scanf
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//读入一行,与sc.nextLine()有相同的性质,会接受无效字符
br.readLine();
//读入一个字符,返回它的ASCLL值
br.read();//读入数字的方法//一个数字
String a=br.readLine();
Integer c=Integer.parseInt(a);//多个数字,使用blank隔开
//Double.parseInt()、Float.paraseFloat()
//其他类型转换为字符串:Integer.toString()、Double.toString();
String[] str=br.readLine().split(" ");for(String a:str){System.out.println(Integer.parseInt(a));
}br.close();
输出
        方法一
//普通的输出//前两种区别便是是否输出后换行
System.out.println();
System.out.print();//相当于c++中printf,区别便是在输出浮点数时,java只有%f。无论float还是double
System.out.printf();//样例
System.out.printf("%04d %.2f",x,avg);
        方法二
import java.io.BufferedWriter
import java.io.OutputStreamWriter;
//对System.out.println()的优化
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));//输出字符串
bw.write(str);
//追加字符串
bw.append(str);//输出字符格式
bw.write(str,off,len);//输出数字类型
Integer t=1314;
bw.write(t.toString());//换行
bw.newLine();//刷新缓冲池
bw.flush();//关闭输出流
bw.close();

判断语句

        if-else语句

//与c++唯一的区别,便是int中的0或者1不能当作条件判断//错误演示
int a=1;
if(a) System.out.println(a); ❌//正确演示
int a=1;
if(a!=0) System.out.println(a); √

        switch语句

//与c++中相同
package com.acwing;import java.util.Scanner;public class Demo02{public static void main(String[] args){Scanner sc=new Scanner(System.in);Integer day=sc.nextInt();String ans="";switch(day){case 1:ans="Monday";break;case 2:ans="Tuesday";break;case 3:ans="Wednesday";break;case 4:ans="Thursday";break;case 5:ans="Friday";break;case 6:ans="Saturday";break;case 7:ans="Sunday";break;default:ans="输入错误,请输入1~7的数字";break;}System.out.println(ans);}
}

        逻辑表达式和条件运算符

作者累了,要休息几天在更新。。。。敬请期待。

循环语句

数组

字符串

函数

类与接口

常用容器

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

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

相关文章

vue.js安装

1:下载 Node.js 官网:https://nodejs.org/en/download 2:安装 node -v npm -v 3:配置 npm config set prefix "F:\node\node_global" npm config set cache "F:\node\node_cache" 按 win 键并输入“编辑系统环境变量”调出系统属性界面&a…

AWTK 开源串口屏开发(7) - 屏幕保护

现代屏幕其实并不需要屏幕保护,不过屏幕保护程序会衍生一些其它用途。比如: 保护隐私。长时间不操作,通过动画或者其它方式隐藏屏幕内容。数据安全。长时间不操作,需要输入密码才能恢复。美观/广告。长时间不操作,显示…

C++中的static(静态)

2014年1月19日 内容整理自The Cherno:C系列 2014年1月20日 内容整理自《程序设计教程:用C语言编程 第三版》 陈家骏 郑滔 -----------------------------------------------------------------------------------------------------------------------------…

JS执行顺序

众所周知,JavaScript 是单线程语言,只能同时执行做一件事(js只有一个线程,称之为main thread-主线程) 1.Javascript 运行机制 main thread 主线程和 call-stack 调用栈(执行栈),所有的任务都会被放到调用栈等待主线程执行。 2.Javascript 任…

SpringBoot+beetl idea热更新解决方案

SpringBootbeetl idea热更新解决方案 第一在application中开启: beetl:resource-auto-check: true #热加载beetl模板,开发时候用第二在application中开启: devtools: 这个部分专门用于配置Spring Boot DevTools的相关参数。DevTools…

Centos8中yum安装docker问题

问题:执行yum update 报错 problem with installed package containers-common-2:1-2.module_el8.5.08906b136101.noarch 执行下面的containerd.io版本安装即可 yum install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.…

Java SE入门及基础(23)

目录 方法带参 1. 构造方法带参 案例场景 思考:以上代码存在什么问题? 2. 方法带参 方法带参语法 案例场景 思考:以上代码存在什么问题? Java SE文章参考:Java SE入门及基础知识合集-CSDN博客 方法带参 1. 构造方法带参 …

十八周周报

文章目录 摘要文献阅读3D reconstruction of human bodies from single-view and multi-view images: A systematic review简介研究方法搜索策略选择标准搜索结果 三维重建方法单个视图中使用的技术基于参数化人体模型的回归基于非参数人体模型的回归 多个视图中使用的技术基于…

base64图片是什么?原理是什么?优缺点是什么?

Base64图片是一种将图像数据编码为文本字符串的方法,通常用于将图像嵌入到网页或其他文档中,以减少HTTP请求或实现某些特定的需求。Base64编码的原理是将3个8位的字节转化为4个6位的字节,然后在6位的前面补两个0,形成8位一个字节的…

PaddleNLP评论观点抽取和属性级情感分析

项目地址:PaddleNLP评论观点抽取和属性级情感分析 - 飞桨AI Studio星河社区 (baidu.com) 情感分析旨在对带有情感色彩的主观性文本进行分析、处理、归纳和推理,其广泛应用于消费决策、舆情分析、个性化推荐等领域,具有很高的商业价值。 依托…

C#,因数分解(质因子分解)Pollard‘s Rho算法的源代码

因数分解(也称为质因子分解):将一个大整数分解它的质因子之乘积的算法。 Pollard Rho算法的基本思路:先判断当前数是否是素数(质数),如果是,则直接返回。如果不是,继续找…

11、Kafka ------ Kafka 核心API 及 生产者API 讲解

目录 Kafka核心API 及 生产者API讲解★ Kafka的核心APIKafka包含如下5类核心API: ★ 生产者APIKafka 的API 文档 ★ 使用生产者API发送消息 Kafka核心API 及 生产者API讲解 官方文档 ★ Kafka的核心API Kafka包含如下5类核心API: Producer API&#x…

spring data mongo 在事务中,无法自动创建collection

spring data mongo 在事务中,无法自动创建collection org.springframework.dao.DataIntegrityViolationException: Write operation error on server xxx:30001. Write error: WriteError{code=263, message=Cannot create namespace xxx.xxxin multi-document transaction.…

Ubuntu18.04 gcc找不到

make报错gcc: not found 问题描述 rootubuntu:/#make gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -…

Redis(四)

1、Redis的单/多线程 1.1、单线程 其实直接说Redis什么单线程或者是多线程,不太准确,在redis的4.0版主之前是单线程,然后在之后的版本中redis的渐渐改为多线程。 Redis是单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的&#…

小白水平理解面试经典题目LeetCode 125 Valid Palindrome(验证回文串)

125 验证回文串 说到公司面试,那就是得考出高度,考出水平,什么兼顾这两者呢,那就得看这道 原题描述: 给定一个字符串,判断它是否是回文串。回文串是指正读和反读都一样的字符串。 输入: “A man, a pla…

超级弱口令检查工具

工具介绍 超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。 工具采用C#开发&#…

1.19(232.用栈实现队列)

1.19(232.用栈实现队列) 在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据&a…

QList应用大全

一.概述 1.QList介绍: QList将项目存储在一个列表中,该列表提供基于索引的快速访问以及基于索引的插入和删除。QList、QLinkedList 和 QVector 提供了类似的 API 和功能。QList不是指针结构体类型的链表,真正的结构体指针链表是 QLinkedLis…

unity-声音与声效OLD

声音与声效 基本概念audio clipaudio listeneraudio source 基本操作如何创建音频源(背景音乐)如何在测试的时候关闭声音 常用代码一般流程如何在一个物体上播放多个音效如何在代码中延时播放多个声音如何在代码中停止音频的播放如何判断当前是否在播放音…