论 Java 与 C 和 C++ 的相似性(有C++或C 基础的 学 Java 更轻松的说)

一,工具的选择(暂时只用过 idea 和 eclipse)

两者比较来说,更喜欢用 idea,因为其风格与pycharm大同小异,比较习惯上手,当然两者并没有什么优劣之分,根据个人实际情况即可

界面截图

idea

eclipse

注意点:

使用 idea 需要 在此之前 下载好 jdk

使用 eclipse 则 可以不用(后期的使用需不需要,暂时还不清楚,对于刚入门的萌新==> Me 来说)

二, Java基本数据类型

这 和 C++ 很类似,但是也有许多不同,所以这里多写不同点或增加点

整型在原有的 int float double long 基础上增加了 byte

byte 值范围为(-127 ~ 128)

其值的范围和 C中的 int 挺像的说

float类型的创建则必须在其值后 + f , 原因:一般小数值均默认为double类型的说

float f = 5.234f;

字符型 char, 但是其的格式多了许多束缚

char类型用于存放一个字符,值必须用单引号 ' 表示(双引号表示字符串),其长度与 short 一样,同为 16位

如果用 char型 创建字符串则会编译错误,且只能存放一个字符,否则也编译错误

正常格式

char c = '中';

字符串类型 String, 这里就不详述了,和 C++中的 String 类 挺像

String str = "Hello World";

三,字面值以及类型转换

字面值 即 给基本类型的变量赋值的方式

3.1 整数字面值

当以l或者L结尾的时候,一个整数字面值是long类型,否则就是int类型。 建议使用大写的L而非小写的l,因为容易和1混淆。

byte,short,int和long的值都可以通过int类型的字面值来创建。整数的字面值可以用如下四种进制来表示:

十进制: 基 10, 包含从0-9的数字,平常用的就是这种

十六进制: 基 16, 包含从0-9的数字,和从A-F的字母。

八进制: 基 8, 包含从0-7的数字

二进制: 基 2, 包含0和1。(从 JAVA7开始就可以创建 二进制的字面值了)

1 long val = 26L; //以L结尾的字面值表示long型

2 int decVal = 26; //默认是int类型

3 int hexVal = 0x1a; //16进制

4 int oxVal = 032; //8进制

5 int binVal = 0b11010; //2进制6 //写的时候有点带Python的习惯,比如注释 空格 =-=

3.2 浮点数字面值

当以 f 或者 F 结尾的时候表示一个 float类型,否则就是 double类型(以 d 或 D结尾时,写不写都行,即默认为double类型)

浮点数还可以用 E 或者 e表示(科学计数法)

1 float f1 = 123.4F; //以F结尾的字面值表示float类型

2 double d1 = 123.4; //默认就是double类型

3 double d2 = 1.234e2; //科学计数法表示double

3.3 转义字符(和 C++ 一样,这里不多叙述,代码示例即可)

1 char tab = '\t'; //回车

2 char newLine = '\n'; //换行

3 char carriageReturn = '\r'; //制表符

4 char doubleQuote = '\"'; //双引号

5 char singleQuote = '\''; //单引号

6 char backslash = '\\'; //反斜杠

数据类型转换(顾名思义,当然这和 C++中依旧有几层相似滴)

3.4 char的特殊性

虽然 short 与 char 同为 16位,但是 两者间进行转换仍然需要强制类型转换

1 char w = 'A';2 short q = 80;3 //虽然short 和 char 都是16位,长度是一样的4 //但是彼此之间,依然需要进行强制转换

5 w = (char)q;

3.5  直接转换(低精度向高精度转换, 其意思是=>转是可以转的,但是不对转换之后的值负责。 风险自担,后果自负)

上图中 -> 即低精度向高精度的顺序

3.6 强制类型转换(高精度向低精度转换)

如果 前者值 大于 后者类型的最大值,则需要同转换为二进制,然后根据低精度的位数进行切割

3.7 四则运算过程中的自动转换

如果有任何运算单元的长度超过int,那么运算结果就按照最长的长度计算

1 int a = 5;2 long b = 6;3 a+b -> 结果类型是long

View Code

如果任何运算单元的长度都不超过int,那么运算结果就按照int来计算

1 byte a = 1;2 byte b= 2;3 a+b -> int 类型

View Code

如果是两个不同类型的值相加,好比

long l = 12L;int i = 3;//两者相加类型为 long, 若还需要使之成为 int 类型,则需要强转

int j = (int)(l + i);

四,命名规则

变量命名 只能使用 字母,数字,$,_

变量的第一个字符 只能使用字母 $ _ , 不能使用数字

使用完整的单词命名,而非缩写

不能使用关键字,但是可以包含关键字

中文也是可以命名变量的,但是在实际工作中别这么做的说

五,作用域

和其他语言一样,就近原则,作用域范围越小,其优先级越高

六,final

final 修饰一个变量,其作用 和 static 相同

七,表达式与块

与 C++ 类似

以 ; 结尾的一段代码,即为一个表达式

区别

; 单独一行也为一个表达式

从{开始 到对应的}结束,即一个块

如何在xmd上运行java文件,Java学习笔记(一)相关推荐

  1. 如何在xmd上运行java文件,Junit命令行应用

    今天, 同事来找, 有个需求, 大概是这样子, 想用crontab shell方式跑我们现在的SpringBoot项目代码, 他的代码写在了测试类里, 不想启动SpringBoot服务. 之前写spr ...

  2. 如何在xmd上运行java文件,XMD(XML类)类的用法

    XMD类,非常好用. 先准备下一个qq.xml(我教学用到的1个例子) 54022626@qq.com " 联系地址="87908332"/> 54022626@q ...

  3. java文件 流学习笔记

    1.字节输入输出流 OutputStream: write 从内存中像磁盘写入文件保存 InputStream: read 把磁盘中的文件读到内存中 内存临时空间 都要到内存中去执行 package ...

  4. 如何在 ubuntu 16.04上运行jar文件

    如何在 ubuntu 16.04上运行jar文件 sudo apt-get update 1 安装依赖包 sudo apt-get install python-software-properties ...

  5. 如何在Hadoop上运行TensorFlow【部署】

    为什么80%的码农都做不了架构师?>>>    原文链接 : https://www.tensorflow.org/deploy/hadoop 译文链接 : http://www.a ...

  6. 在linux云服务器上运行Jar文件

    在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台 ...

  7. 在web服务器上运行jsp文件

    在web服务器上运行jsp文件 首先得在电脑上安装tomcat服务器,确保服务器能运行在8080端口页面,然后在myeclipse中新建web project ,建包,建类,在webRoot下面WEB ...

  8. 如何在iOS上运行React Native应用

    by Soujanya PS 通过Soujanya PS 如何在iOS上运行React Native应用 (How to run a React Native app on iOS) I recent ...

  9. 如何在Windows上运行Redis?

    如何在Windows上运行Redis? Redis下载页面似乎只提供* nix选项. 我可以在Windows上本地运行Redis吗? #1楼 MS Open Tech最近提供了Redis版本,可以在G ...

最新文章

  1. 2012 RDS Remote App 对于win7的支持问题
  2. 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)
  3. 手机号验证_谷歌修改密码时遇到手机号验证的解决办法
  4. Spring Framework 官方文档学习(三)之Resource
  5. 简洁后台管理非常简洁
  6. 回顾︱时间序列预测与分解有哪些模型?(一)
  7. AngularJS 资源和开发教程
  8. Excel表格撤销工作表保护
  9. Untitled555555555
  10. 黑之契约者OP《Howling》完整版歌词
  11. 上java培训班有用吗?Java有必要上培训班吗?
  12. 通过windows官网工具制作win10启动盘并安装win10系统
  13. VUE:自定义指令(directives )选项的用法
  14. 【机器学习】线性判别式(LDA/FLD)
  15. charAt()-‘0‘
  16. mysql geohash函数_基于MySQL实现按距离排序、范围查找geoHash
  17. 服务器主板用linux版本系统,华硕WG X299主板的服务器上安装ubuntu16.04的系统
  18. js 比较两个日期的大小
  19. C语言结构体和链表结合,C语言结构体与链表
  20. 谷粒商城 (二十八) --------- 仓储服务 API 仓库管理

热门文章

  1. S11、反射系数、回损、VSWR之间的换算
  2. gradle引入依赖包/maven引入依赖包
  3. 国内低代码平台有哪些?织信informat好不好用?
  4. 从招行权证疯炒看权证风险
  5. HTML期末大作业~玄幻情缘游戏官网静态html模板
  6. 基于Ubuntu 多进程基础知识笔记
  7. 牛客第十场 F.Popping Balloons
  8. 强化学习——蛇棋游戏策略迭代实现
  9. SSDT—Hook和MDL
  10. Solidworks2020中零件图的材质无法正常显示的问题(只有在选中零件时材质才能正常显示)