Java程序设计(基础)- 基本语法

Java程序设计(基础)- 基本语法

基本语法

一、关键字

java关键字及其介绍

二、标识符

标识符:给接口(interface)、变量(variables)、类(class)和方法(method)命名。

命名规则:

    (1)标识符必须以字母、下划线_ 、美元符$开头。

    (2) 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

    (3)Java 标识符大小写敏感,且长度无限制。

    (4)不可以是Java的关键字。

另外:表示类名的标识符用大写字母开始。如:Person, JingDong

表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始。say(),sayHello()

package com.identifierstest;
 
public class IdentifiersTest {
 
	public static void main(String[] args) {
		// 合法的
		int a = 1000;// 字母开头
		int _aaa = 50;// 下划线开头
		int $pppp = 80;// $开头
		int $11_gg = 7;// 字母、下划线“_”、美元符“$”和数字的任意组合
		int 哈哈2 = 5;// 中文开头也是可以的,不建议用啊(java内部采用了Unicode字符集)
		//不合法的
		int 1a=3;//不能用数字开头
		int a[=3;//不能包含#这样的特殊字符
		int class=3;//不能使用关键字
		
	}
 
}

三、运算符

运算符基本分为六类:算数运算符、赋值运算符、比较/关系运算符、逻辑运算符、位运算符、三元/三目/条件运算符。

1、算数运算符

包括:加(+)、减(-)、乘(*)、除(/)、取模(%)、自增(++)、自减(–)、字符串连接符(+)。
使用规则:

  1. byte/short在运算的时候会自动的提升为int,然后进行运算,运算结果为int。
  2. 同一个类型参与运算,结果的类型与参与运算的类型一致。
  3. 如果运算过程中有大类型参与了运算,结果一定是大类型
  4. 由于绝大部分小数在转化成二进制的时候是无限小数,所以double类型在存储小数的时候也没有办法精确存储,因此也没有办法来精确运算。
  5. 整数/0 :ArithmeticException(算数异常)。
    任意非0数字/0.0或者是任意小数/0 :Infinity(无穷大)。
    0/0.0->NaN-> Not a Number(非数字)NaN和任何值都不相等包括其本身。
    判断一个对象是否是NaN只有一个方法isNaN();
  6. %(取模运算符/取余)
    在做取余运算的时候,先按正数进行取余,然后看%左边数字的符号,如果%左边的数字是正数,那么结果就是正数。
    3.2 % 2 = 1.2 5.4%1.7=0.3 -3.5%1.7=-0.1
  7. ++/–(自增自减运算)
    相当于在原来的基础之上自增/自减1。
    ++ 在变量名之前,表示先自增,自增完成之后才会参与其他运算。
    ++ 在变量名之后,表示先拿变量的原来的值参与运算,然后再自增。
  8. +(字符串拼接符/连接符)
    “a”+”b” —>”ab” 2+3+”a”—>”5a”
    可以利用+将两个字符串进行拼接,或者也可以利用+将任何数据与字符串进行拼接。

2、赋值运算符

十二个运算符:=(等于) +=(加等) -=(减等) *=(乘等) /=(除等) %=(取余等) &=(与等) |=(或等) ^=(异或等) <<=(左移等) >>=(右移等) >>>=(无符号右移等)
注意:除了=以外,其余的赋值运算符要求这个变量必须有初始值。
byte/short可以参与赋值运算,运算结果仍是原类型。

3.关系 运算符/比较运算符

关系运算符又叫比较运算符。
七个运算符:==等于、!= 不等于、>(大于) 、<(小于)、>=(大于等于)、<=(小于等于)、instanceof(判断对象于实例的关系)。它们的结果全是boolean型
instanceof 用于判断对象是否是否对应类的实例的。
“abc” instanceof String -> true
运算完成之后结果是一个boolean类型的值。

4.逻辑运算符

六个运算符:&与(And)、|或(Or)、!非(Not)、^异或、&&短路与、||短路或
1.&运算规则:
true&true=true true&false=false false&true=false false&false=false
见false为false。
2.|运算规则:
true|true=true true|false=true false|true=true false|false=false
见true为true。
3.!运算规则:
!true=false !false=true
非否即是,非是即否。
4.^运算规则:
true^true=false true^false=true false^true=true false^false=false
相同则为false,不同则为true。
5.&&运算规则:
对于&&而言,如果前边的表达式的结果为false,则后边的表达式就不再运算。
6.||运算规则:
对于||而言,如果前边的表达式的结果为true,则后边的表达式就不再运算。
注意:短路特性可以提高代码的运算速度。

5.位运算符

7个运算符号:
&(与)、|(或)、 ^(异或)、<<(左移)、>>(右移)、>>>(无符号右移)、~(取反)
注意:位运算针对的是整数,运算的是数据的补码
可以利用&来判断是否是奇偶数。
1.原、反、补码
数据在计算机中是以补码形式来存储的。最高位是一个符号位:如果是正数,最高位为0,如果是负数,最高位为1。对于正数而言,原反补三码一致。负数的反码是在原码的基础上,最高位不变,其余位0变1,1变0,负数的补码是在反码的基础上+1。
6- 00000000 00000000 00000000 00000110—原码/反码/补码
-6 – 10000000 00000000 00000000 00000110—原码
11111111 11111111 11111111 11111001—反码
11111111 11111111 11111111 11111010—补码
11111111 11111111 11111111 11101101—补码
11111111 11111111 11111111 11101100—反码
10000000 00000000 00000000 00010011—原码— -19
2.与或非运算规则
与或非运算规则
奇数^偶数=奇数
a ^ b ^ b = a; b ^ b ^ a = a
注意:
Java中所有的数值类型的数据都是有符号的。
baty/short参加左移和右移和无符号右移结果为int。
一个数字右移几位就是将这个数字除以2的几次方,然后取整。
取反快捷运算:~i= – i – 1
这里写图片描述
这里写图片描述

6.三元运算符

三元运算符又叫三目运算符,还可叫做条件运算符。
1.格式
逻辑值 ? 表达式1 :表达式2;
int i = 4, j = 7;
int k = i > j ? i : j;
System.out.println(k);//结果为j。
2.执行顺序:
如果逻辑值为true的话,执行表达式1,;反之执行表达式2。
①三元表达式在运算完成之后必须有一个结果。
//不允许,运算完成之后,没有结果。
A > b ? System.out.println( a ) : System.out.println( b );
②表达式1和表达式2的结果必须是相同类型或相容。
double d = a > b ? a * 2 : a * 2.5;
③在三元表达式形成嵌套的时候,尽量添加()来提高代码的可读性
int max = a > b ? ( a > c ? a : c ) : ( b > c ? b : c );

四、字面量

  • 字节字面量
    字面量是指由字母,数字等构成的字符串或者数值,它只能作为右值出现,所谓右值是指等号右边的值,如:int a=123这里的a为左值,123为右值。

常量和变量都属于变量,只不过常量是赋过值后不能再改变的变量,而普通的变量可以再进行赋值操作。

 //整型字面量:100、100L
 //浮点型字面量:3.5、3.5F、3.123e2
 //字符字面量:‘a’、‘\t’、'\123'
 //布尔型字面量:true  false
 //引用字面量:null
 //类型字面量:String.class、int.class
 int a;//a变量
 const int b=10;//b为常量,10为字面量
 string str="hello world";//str为变量,hello world为也字面量
  • 字符字面量
    通过将字符包括在单引号之内来表示字符字面量。
    对于那些不能直接被包括的字符,有若干转义序列,这样允许你输入你需要的字符。
转义序列 说明
\ddd 八进制字符(ddd)
\uxxxx 十六进制Unicode码字符
单引号
双引号
\ 反斜杠
\r 回车键
\n 换行
\f 换页
\t 水平制表符
\b 退格

五、分割符

符号 说明 介绍
() 圆括号 在定义和调用方法时用来容纳参数表。在控制语句或强制类型转换组成的表达式中用来表示执行或计算的优先权
{ } 花括号、大括号 用来包括自动初始化的数组的值。也用来定义程序块、类、方法以及局部范围
[ ] 方括号、中括号 用来声明数组的类型,也用来表示撤消对数组值的引用
分号 用来终止一个语句
逗号 在变量声明中,用于分隔变量表中的各个变量。在for控制语句中,用来将圆括号内的语句连接起来
. 句号(点) 用来将软件包的名字与它的子包或类分隔。也用来将引用变量与变量或方法分隔
\ 反斜杠 windows系统的目录的分隔符
/ 斜杠 linux系统的目录的分隔符

Java设计基础及面向对象导向

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106712.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 表达式树与前中后缀表达式

    表达式树与前中后缀表达式计算机科学中,除了栈以外,二叉树也是处理表达式的常用工具,为了处理表达式而遵循相应规则构造的树被称为表达式树。表达式树算数表达式是分层的递归结构,一个运算符作用于相应的运算对象,其运算对象又可以是任意复杂的表达式。树的递归结构正好用来表示这种表达式。下面只讨论二元表达式。二元表达式可以很自然的联系到二叉树:以基本运算对象作为叶节点中的数据;以运算符作为非叶节点中的数据,其两棵子树是它的…

    2022年6月18日
    25
  • 公网IP和内网IP的区别? 什么是127.0.0.1?

    公网IP和内网IP的区别? 什么是127.0.0.1?IP地址是设备在网络上的唯一标识符,比如无线路由器有两个IP,公网IP(例如100.78.118.73)连接互联网,私有(内网)IP(如192.168.1.1)连接局域网,当设备连接WIFI上网,无线路由器就会给手机或者电脑分配一个私有IP。这里提出了两种IP,公网IP和内网IP。怎么理解呢?其实是因为近几十年广泛运用的IPV4地址枯竭,已经无法让每个设备都拥有一个IP了,于是NAT技术诞生,…

    2022年6月3日
    47
  • 415错误的一种解决方法

    415错误的一种解决方法出现415错误的解决方法:1.前端看ajax请求的contentType是否与后端一致2.看发送的数据格式是否正确。下例为后端所需数据为json格式,contentType为application/json的ajax请求。functiongetAddDirResponse(data){$.ajax({url:’/algor/api/datadirs’,

    2022年5月1日
    141
  • 在乌镇拼命“洗白”的拼多多

    在乌镇拼命“洗白”的拼多多“虽然我们没为别人拼过命,但是一定为别人拼过多多。“以往冬初的乌镇世界互联网大会,刘强东往往会穿着显腰瘦的西服出现,不过今年没出现,倒是友商拼多多的创始人黄峥,来了。黄峥…

    2022年5月26日
    42
  • voliate关键字的作用[通俗易懂]

    voliate关键字的作用[通俗易懂]一、内存可见性基于缓存一致性协议,当用voliate关键字修饰的变量改动时,cpu会通知其他线程,缓存已被修改,需要更新缓存。这样每个线程都能获取到最新的变量值。二、基于内存屏障的防止指令重排用voliate修饰的变量,可以防止cpu指令重排序。底层的实现方式是基于4种内存屏障:读读、读写、写读、读读屏障。…

    2022年5月25日
    78
  • 配置pycharm的python路径_linux多路径详细配置

    配置pycharm的python路径_linux多路径详细配置EditCustomVMOptions的路径pwd:/Users/用户名/Library/ApplicationSupport/JetBrainsll:drwxr-xr-x10userstaff320BJan1910:42GoLand2021.3drwxr-xr-x15userstaff480BJan112021PyCharm2020.2drwxr-xr-x15userstaff480BApr302021…

    2022年8月27日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号