Java的基本语法

Java的基本语法

·String是字符串类型关键字,属于引用数据类型,不能通过强制类型转换的方式转换为基本数据类型:

但是可以通过方法的方式进行转换:

·进制

1,对于整数,有四种表示方式:

二进制->0、1,满2进1,以0b或0B开头表示

十进制->0-9,满10进1

八进制->0-7,满8进1,以数字0开头表示

十六进制->0-9及A-F,满16进1,以0x或0X开头表示,其中A-F不区分大小写

所有的数字在计算机的底层都是以二进制的形式存在的,计算机以补码的形式保存所有的整数,正整数的原码与其补码相同,负整数的补码是在其原码的反码基础上末位加1。

原码:直接将一个数值转换为二进制数的形式叫做这个数的原码。

反码:对原码按位取反,最高位符号位不变。

在这里我们就来解释一下为什么byte类型的取值范围是-128~127:

因为byte类型所占的内存空间大小为一个字节,也就是可以使用8位二进制数来表示byte类型的容量,对一个8位二进制数来说,最大的正数可以表示为0111 1111,又由于正数的原码和其补码相同,故最大的正数的二进制形式也可以表示为0111 1111,转换为十进制就是127,最小的负数的二进制形式为1111 1111,补码形式为1000 0001,在其补码的基础上还可以再减去1,才满足最小,故最终的二进制形式为1000 0000,该二进制的十进制表示形式为-128,故byte类型的取值范围是-128~127。

2,进制转换

十进制转换为十进制:

除10取余,升序排列

十进制转换为二进制:

除2取余,升序排列

二进制转换为十进制:

·运算符

1,算术运算符

⑴%(取模运算符)

取模运算就是取余数运算

如果对负数取模,模数的负号是可以忽略不计的:

但是被模数的负号不可以忽略不计:

⑵/(除法运算符)

整数之间的除法运算只保留整数部分,舍弃小数部分:

要想保留小数部分,将其中一个操作数声明为浮点型即可:

⑶+(加法运算符)

加法运算符拥有字符串相加的功能:

加法运算符还可以将非字符串转换为字符串:

⑷++(自增运算符)

++在前:

++在后:

⑸--(自减运算符)

--在前:

--在后:

⑹=(赋值运算符)

⑺+=(扩展赋值运算符)

2,比较运算符

⑴->==(等于):

3,逻辑运算符

⑴!(非)

⑵||(短路或)

短路或表示如果或运算符之前的表达式的结果为真,则或运算符后面的表达式不参与运算:

⑶|(或)

无论或运算符前面的表达式的结果如何,或运算符后面的表达式都会参与运算:

⑷&&(短路与)

如果与运算符前面的表达式的结果为假,那么与运算符后面的表达式就不会参与运算:

⑸&(与)

无论与运算符前面的表达式的结果如何,与运算符后面的表达式都会参与运算:

上图中抛出了一个数学异常,证明与运算符后面的表达式参与了运算

⑹^(异或)

异或运算符两边的表达式取值相同时取值为false,不同时取值为true

逻辑运算符用于连接布尔型表达式:

在Java中不可以写成3<x<6,应该写成x>3 && x<6

4,位运算符

⑴<<(左移位)

被移除的高位补丢弃,空缺位补0

2左移3位,表示的是将2的二进制原码左移3位

即:0000 0010-->0001 0000

2左移3位的值相当于是2乘以2^3

⑵>>(右移位)

如果被移位的二进制原码的最高位是0,右移后,空缺位补0:

16右移3位相当于16除以2^3

⑶&(按位与)

按位与表示运算符的两边的操作数的二进制原码按位相与计算结果:

5,三元运算符

时间: 2024-08-26 15:46:12

Java的基本语法的相关文章

Java语言基本语法

Java语言基本语法 一.标识符和关键字 标识符 在java语言中,用来标志类名.对象名.变量名.方法名.类型名.数组名.包名的有效字符序列,称为“标识符”: 标识符由字母.数字.下划线.美元符号组成,且第一个字符不能是数字: java语言区分大小写: 标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写: 关键字 在java语言中,有一些专门的词汇已经被赋予了特殊的含义,不能再使用这些词汇来命名标识符,这些专有词汇,称为“关键字”: j

Java正则表达式之语法规则

[转]Java正则表达式之语法规则 正则表达式是一种强大而灵活的文本处理工具,使用正则表达式能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索.一旦找到了匹配这些模式的部分,就能够随心所欲地它们进行处理.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配.选择.编辑以及验证. 首先看一下JAVA中正则表达式的完整构造集,也可以参考java.util.regex.Pattern中的API说明. 字符 X 字符X \\ 反斜线字符 \0n 带有八进制值0的字符n(

(转)Java正则表达式的语法与示例

转自:http://www.cnblogs.com/lzq198754/p/5780340.html 概要: Java正则表达式的语法与示例 | |目录 1匹配验证-验证Email是否正确 2在字符串中查询字符或者字符串 3常用正则表达式 4正则表达式语法 1匹配验证-验证Email是否正确 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public static void main(String[] args) {     // 要验证的字符串     

Pascal、VB、C#、Java四种语法对照表

因为工作原因,自学会了vb后陆续接触了其它语言,在工作中经常需要与各家使用不同语言公司的开发人员做程序对接,初期特别需要一个各种语法的对照比,翻看了网络上已有高人做了整理,自己在他基础上也整理了一下,摘抄如下(最后附上原作,网上也可以找到): 类别 Vb6 & Vb.Net Delphi C# 语法 不区分大小写 不区分大小写 区分大小写 数据类型 数据     关键字    占用字节      类型符 整型          integer 长整型        long 单精度型     

【Java】基础语法

虽然说Java又是一门新的编程语言,但基础的语法部分还都是可以和之前学习的编程语言一样的. 既然被称之为语法,那就必然有一定的规则.其中,在标识符和关键字部分,我们就可以很明显的看出一些强制性的要求. 关键字不能作为标识符,标识符为小写字母等,这有着一系列的规则,然而我们也并不需要去记,按着常规走,结合自身的以往的一些经验,就没什么问题. 学习了这么久的编程语言,也是总结过很多次关于数据的知识点.而这一次,一层一层,把它们之间的关系联系的更紧密了. 数据在程序中是少不了的.而我们如何获取数据或者

Java高阶语法---static

背景:听说static Java高阶语法是挺进BAT必经之路. static: 静态static,很多时候会令我望文生义,但是get到了static最重要的一点,其他的理解都还ok. static最重要的一点就是:类属性中被static所引用的变量会被当作Gabage Collection的root根节点,而root就意味着着这一类变量基本上是不会被GC回收的, 即使System.gc() 都不会被回收,So,static很容易引起内存泄漏. 官方的解释就是:static可以修饰属性.方法和内部

Java高阶语法---transient

背景:听说transient Java高阶语法是挺进BAT必经之路. transient: Java中transient 关键字的作用,简单的说就是让某些被修饰的成员属性变量不被序列化. 这又扯到了序列化和反序列化: Java中对象的序列化是指将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可以用网络传输:就比如我们使用缓存cache/redis或远程调用RPC(网络传输)如一些密码等不想让人看到的敏感信息的时候,都要让缓存或

Java高阶语法---Volatile

背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路. Volatile: volatile同步机制又涉及Java内存模型中的可见性.原子性和有序性,恶补基础一波. 可见性: 可见性简单的说是线程之间的可见性,一个线程修改的状态对另一个线程是可见对,也就是一个线程的修改结果另一个线程可以马上看到:但通常,我们无法确保执行读操作的线程能够时时的看到其他线程写入的值,So为了确保多个线程之间对内存写入操作可见性,必须使用同步机制:如用volatile修饰的变量就具有可见性,volat

JVM(二):Java中的语法糖

JVM(二):Java中的语法糖 上文讲到在语义分析中会对Java中的语法糖进行解糖操作,因此本文就主要讲述一下Java中有哪些语法糖,每个语法糖在解糖过后的原始代码,以及这些语法糖背后的逻辑. 语法糖 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用.通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会.