语法基础(Java)
Java语法基础
学习目标
- Java中的数据类型
- 变量与常量
- 运算符
数据类型:
基本类型:
类型 | 默认值 | 位长 | 取值范围 |
---|---|---|---|
boolean(布尔型) | false | 1 | false,true |
byte(字节型) | 0 | 8 | -128~127 |
char(字符型) | ‘\u0000’ | 16 | ‘\u0000’~’\uffff’(即0,65535) |
short(短整型) | 0 | 16 | -32768~32767 |
int(整型) | 0 | 32 | –231到231-1 |
long(长整型) | 0 | 64 | -263到263-1 |
float(单精度浮点型) | 0.0 | 32 | ±1.4E-45或±3.4028235E+38 |
double(双精度浮点型) | 0.0 | 64 | ±4.9E-324或1.797693134862315E+308 |
Java的char类型采用UNicode(国际编程标准)的新字符处理方式,即大字符编程方案,汉字和字母均看作一个字符,占两个字节。
若没有赋初值,取默认值
- 整型变量及其申明(缺省类型为int)
整型数据类型有:byte,short,int,long共四种。
byte a;
byte a=8;
short b;
short b=16;
int c;
int c=32;
long d;
long d=64;
在声明变量时需注意以下三点:
- 如果在函数中声明变量,那么使用之前,必须赋初值;
- 不能把取值范围大的变量直接赋值给取值范围小的变量;
- 如果声明了变量但没有使用变量,那么可以不给变量赋值。
自动类型转换(Downcasting)
整型、浮点型、字符型数据可以混合运算。在运算过程中,先转换成统一类型,再计算。
- 转换从低级到高级的顺序为:
short或byte(char)–>int–>long–>float–>double - 强制类型转换(Casting)
(数据类型)数据 或(数据类型)(表达式)
例如:
byte a=2;
byte b=3;
byte c=(byte)(a+b);
int m =21;
int n =421;
int x = (int)(n/m);
- 浮点型变量及其声明(缺省类型为double)
在声明float类型变量并赋初值时,要在数值后面加 ‘f’(英文) ,否则报错
- 字符型变量及其声明
- 字符型变量表示单个16位Unicode字符,在表示字母和数字的时候,可以用单括号括起来。例:‘a’ (英文)
- 在转义系列字符的表示上,要注意斜杆的运用,例如:‘\t’表示制表符。
- 可以用整型表示一个char型变量的值,例如:char c = 66;
- 布尔型变量及其声明
布尔型数值只有:false和true。必须小写,因为是关键字。
变量的作用域和生存期:
Java允许变量在任何程序块内声明。程序块包括在一对大括号 中,一个程序块定义了一个作用域。所以,每次开始一个新块,就创建了一个新的作用域。从先前的编程经验得知,一个作用域决定了那些对象对程序的其他部分可见,它也决定了这些对象的生存期。
大多数计算机语言定义了两大作用域:全局和局部。
然而,这些传统的作用域不适合Java严格的面向对象的模型。其中,将一个变量定义成全局变量的可行是一个例外而非规则。
Java的两大主要的作用域是通过类和方法定义的,尽管类的作用域和方法的作用域的区别是人为定义的。
但是类的作用域有若干独特的特点和属性,并且这些特点和属性并不能应用到方法定义的作用域中。
作为一个通用规则,在一个作用域中定义的变量,对于作用域外的程序是不可见的。
作用域会对内部的变量局部化并且保护它不被非授权访问和修改。
作用域规则为封装提供了基础。
作用域可以实现嵌套,外面的作用域包含内部的作用域。这意味着外部作用域定义的对象对于内部作用域的程序是可见的。
但是反过来就是错误的,内部作用域定义的对象对于外部是不可见的。
变量可以在程序块内的任何地方声明,但是只有声明过后才是合法有效的。
变量在其作用域中被创建,离开其作用域时被撤销。因此,一个变量的生存期就被限定在它的作用域中。
常量:
Java是以final关键字来声明一个常量的。
例如:final double PI=3.1415;
就声明了一个“PI”常量,值为3.1415。
运算符
- 一元运算符:正(+)、负(-)、自增(++)、自减(- -)
自增和自减运算符只允许用于数值类型的变量,且不允许用于表达式。
其中需要注意的是自增和自减与变量的位置。例如:
int i=6,j,k,m,n;
j=i++;//运算结果j=6,i=7
k=++i;//运算结果k=8,i=8
m=--i;//运算结果m=7,i=7
n=i--;//运算结果n=7,i=6
一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错
- 二元运算符:加(+)、减(-)、乘(*)、除(/)、取模(%)
其中较为特殊的是取模是可以运用于浮点型数字的。例如:7.3%3的运算结果为1.3
不要使运算结果超出范围,否则编译错误。例如:byte 20*20;将编译错误
整数之间做除法,将舍弃小数点后面的部分。
- 赋值运算符:‘=’。‘=’右边可以是表达式,左边须是变量。
左值范围不能小于右值范围,否则需要使用类型转换,即在表达式前面加上类型名。
- 比较运算符
运算符 | 意义 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
Java中的任何类型,包括整型、浮点型、字符及布尔型,都可用“==”和“!=”来比较是否相等。
- 逻辑运算符
运算符 | 意义 |
---|---|
! | 逻辑非 |
& | 逻辑与 |
&& | 短路与 |
^ | 异或 |
竖杠 | 逻辑或 |
两条竖杠 | 短路或 |
竖杠即‘|’。两条即‘||’
逻辑运算符支持短路运算。
所谓短路运算即从左向右依次运算并判断每一个条件是否成立。
因此,在逻辑运算中通常会使用到“短路与&&”和“短路或||”
- 位运算符
位运算符分为‘非!’、‘或|’、‘与&’、‘异或^’
11011101进行‘!’结果为00100010
11011101和10110111进行‘|’结果为11111111
11011101和10110111进行’&'结果为10010101
11011101和10110111进行‘^’结果为01101010 - 移位运算符
移位运算符主要包括左移位运算符(<<)、“有符号”右移位运算符(>>)、“无符号”右移位运算符(>>>)
“<<”,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
“>>”,将运算符左边的对象向右移动运算符右边指定的位数。采用“符号扩展”机制,也就是说,如果值为正,则高位补0,反之,补1
“>>>” ,将运算符左边的对象向右移动运算符右边指定的位置。采用“零扩展”,无论值为正负,都在高位补0
语法基础(Java)相关推荐
- Java基础笔记(入门,语法基础,流程控制,数组)
Java语言入门 发展历程 三大技术体系 JavaSE 标准版 JavaEE 企业版 JavaME 嵌入式版 Java语言特点 简单性 健壮性 面向对象 分布式 多线程 动态性 可移植性(跨平台) J ...
- 给Java初学者福利——Java语法基础
Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注: 1.Java ...
- java的基础语法是什么_java语法基础
java语法基础 引导语:作为一门计算机语言,Java也是有语法的,以下是百分网小编分享给大家的java语法基础,欢迎阅读! java语法基础: 1,关键字:其实就是某种语言赋予了特殊含义的单词. 保 ...
- java的封装性_Java10-java语法基础(九)——java的封装性
Java10-java语法基础(九)--java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...
- 0基础java语法_Java零基础教程(二)基础语法
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
- 【Java基础】语法基础
本文适合有编程基础或是需要Java语言复习的家人们食用~ 一.Java语言介绍 本篇文章使用的JDK版本是1.8(即JDK 8) Java语言是运行在JVM上的,有了JVM,Java语言得以在不同操作 ...
- 【CXY】JAVA基础 之 语法基础
概述: Java语法基础知识:数据类型.变量.标识符.关键字.运算符.注释 1.数据类型: 1.java是强类型语言,所有变量都必须声明其确定的类型 2.基本数据类型和引用数据类型 见图 3.类型转换 ...
- Java学习之路-----Java基础简介,基础语法,Java标识符,修饰符,关键字与注释
这里写目录标题 Java简介 Java发展历程 Java语言平台版本 Java语言的特点 Java语言跨平台原理--JVM JRE和JDK JDK安装路径下的目录解释 Java基础语法 Java标识符 ...
- 打怪升级之小白的大数据之旅(一)<Java基础语法之Java的身世之谜>
打怪升级之小白的大数据之旅(一) Java基础语法之Java的身世之谜 打怪升级之小白的大数据之旅(一) 前言 一.学习大数据之前 二.Java基础 what? why? how? 总结 前言 做了几 ...
最新文章
- logincontroller.java_使用HuTool工具类,实现登录验证码
- 关于MATLAB FFT频谱泄露和加窗
- 《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
- python assert 与 slice
- 信息学奥赛C++语言:梯形面积
- 布隆过滤器及其数学推导
- 2013年蓝桥杯模拟赛答案
- Mac系统SequelPro下载介绍和使用方法
- 图解TCPIP-传输层 TCP报文
- sybase 设置默认值_[转]SYBASE 数据库操作笔记
- IDEA 等常用编程软件注册码集合
- 电子元件的测量方法及在电路中的作用
- 【转】新方法打造自己的N合一 XP系统盘
- word中无法取消图片组合
- 使用RamDiskNT虚拟软盘后vmware无法识别
- PNAS:睡眠的fMRI频谱特征
- 仓库智能化管理:WMS仓储管理系统解决方案
- 非常详尽,多图慎入:Wayland与Weston简介
- 实训报告万能模板计算机专业,计算机专业实习报告模板
- 电脑考证一级Word文档