Java语法基础

学习目标

  1. Java中的数据类型
  2. 变量与常量
  3. 运算符

数据类型:

基本类型:
类型 默认值 位长 取值范围
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(国际编程标准)的新字符处理方式,即大字符编程方案,汉字和字母均看作一个字符,占两个字节。
若没有赋初值,取默认值

  1. 整型变量及其申明(缺省类型为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;
在声明变量时需注意以下三点:
  1. 如果在函数中声明变量,那么使用之前,必须赋初值;
  2. 不能把取值范围大的变量直接赋值给取值范围小的变量;
  3. 如果声明了变量但没有使用变量,那么可以不给变量赋值。
自动类型转换(Downcasting)

整型、浮点型、字符型数据可以混合运算。在运算过程中,先转换成统一类型,再计算。

  1. 转换从低级到高级的顺序为:
    short或byte(char)–>int–>long–>float–>double
  2. 强制类型转换(Casting)

(数据类型)数据 或(数据类型)(表达式)
例如:
byte a=2;
byte b=3;
byte c=(byte)(a+b);
int m =21;
int n =421;
int x = (int)(n/m);

  1. 浮点型变量及其声明(缺省类型为double)

在声明float类型变量并赋初值时,要在数值后面加 ‘f’(英文) ,否则报错

  1. 字符型变量及其声明
  • 字符型变量表示单个16位Unicode字符,在表示字母和数字的时候,可以用单括号括起来。例:‘a’ (英文)
  • 在转义系列字符的表示上,要注意斜杆的运用,例如:‘\t’表示制表符。
  • 可以用整型表示一个char型变量的值,例如:char c = 66;
  1. 布尔型变量及其声明

布尔型数值只有:false和true。必须小写,因为是关键字。

变量的作用域和生存期:

Java允许变量在任何程序块内声明。程序块包括在一对大括号 中,一个程序块定义了一个作用域。所以,每次开始一个新块,就创建了一个新的作用域。从先前的编程经验得知,一个作用域决定了那些对象对程序的其他部分可见,它也决定了这些对象的生存期。
大多数计算机语言定义了两大作用域:全局和局部。
然而,这些传统的作用域不适合Java严格的面向对象的模型。其中,将一个变量定义成全局变量的可行是一个例外而非规则。
Java的两大主要的作用域是通过类和方法定义的,尽管类的作用域和方法的作用域的区别是人为定义的。
但是类的作用域有若干独特的特点和属性,并且这些特点和属性并不能应用到方法定义的作用域中。
作为一个通用规则,在一个作用域中定义的变量,对于作用域外的程序是不可见的。
作用域会对内部的变量局部化并且保护它不被非授权访问和修改。
作用域规则为封装提供了基础。
作用域可以实现嵌套,外面的作用域包含内部的作用域。这意味着外部作用域定义的对象对于内部作用域的程序是可见的。
但是反过来就是错误的,内部作用域定义的对象对于外部是不可见的。
变量可以在程序块内的任何地方声明,但是只有声明过后才是合法有效的。
变量在其作用域中被创建,离开其作用域时被撤销。因此,一个变量的生存期就被限定在它的作用域中。

常量:

Java是以final关键字来声明一个常量的。
例如:final double PI=3.1415;
就声明了一个“PI”常量,值为3.1415。

运算符

  1. 一元运算符:正(+)、负(-)、自增(++)、自减(- -)
    自增和自减运算符只允许用于数值类型的变量,且不允许用于表达式。
    其中需要注意的是自增和自减与变量的位置。例如:
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

一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错

  1. 二元运算符:加(+)、减(-)、乘(*)、除(/)、取模(%)

其中较为特殊的是取模是可以运用于浮点型数字的。例如:7.3%3的运算结果为1.3
不要使运算结果超出范围,否则编译错误。例如:byte 20*20;将编译错误
整数之间做除法,将舍弃小数点后面的部分。

  1. 赋值运算符:‘=’。‘=’右边可以是表达式,左边须是变量。

左值范围不能小于右值范围,否则需要使用类型转换,即在表达式前面加上类型名。

  1. 比较运算符
运算符 意义
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

Java中的任何类型,包括整型、浮点型、字符及布尔型,都可用“==”和“!=”来比较是否相等。

  1. 逻辑运算符
运算符 意义
! 逻辑非
& 逻辑与
&& 短路与
^ 异或
竖杠 逻辑或
两条竖杠 短路或

竖杠即‘|’。两条即‘||’
逻辑运算符支持短路运算。
所谓短路运算即从左向右依次运算并判断每一个条件是否成立。
因此,在逻辑运算中通常会使用到“短路与&&”和“短路或||”

  1. 位运算符
    位运算符分为‘非!’、‘或|’、‘与&’、‘异或^’
    11011101进行‘!’结果为00100010
    11011101和10110111进行‘|’结果为11111111
    11011101和10110111进行’&'结果为10010101
    11011101和10110111进行‘^’结果为01101010
  2. 移位运算符
    移位运算符主要包括左移位运算符(<<)、“有符号”右移位运算符(>>)、“无符号”右移位运算符(>>>)

“<<”,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
“>>”,将运算符左边的对象向右移动运算符右边指定的位数。采用“符号扩展”机制,也就是说,如果值为正,则高位补0,反之,补1
“>>>” ,将运算符左边的对象向右移动运算符右边指定的位置。采用“零扩展”,无论值为正负,都在高位补0

语法基础(Java)相关推荐

  1. Java基础笔记(入门,语法基础,流程控制,数组)

    Java语言入门 发展历程 三大技术体系 JavaSE 标准版 JavaEE 企业版 JavaME 嵌入式版 Java语言特点 简单性 健壮性 面向对象 分布式 多线程 动态性 可移植性(跨平台) J ...

  2. 给Java初学者福利——Java语法基础

    Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注: 1.Java ...

  3. java的基础语法是什么_java语法基础

    java语法基础 引导语:作为一门计算机语言,Java也是有语法的,以下是百分网小编分享给大家的java语法基础,欢迎阅读! java语法基础: 1,关键字:其实就是某种语言赋予了特殊含义的单词. 保 ...

  4. java的封装性_Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)--java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  5. 0基础java语法_Java零基础教程(二)基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  6. 【Java基础】语法基础

    本文适合有编程基础或是需要Java语言复习的家人们食用~ 一.Java语言介绍 本篇文章使用的JDK版本是1.8(即JDK 8) Java语言是运行在JVM上的,有了JVM,Java语言得以在不同操作 ...

  7. 【CXY】JAVA基础 之 语法基础

    概述: Java语法基础知识:数据类型.变量.标识符.关键字.运算符.注释 1.数据类型: 1.java是强类型语言,所有变量都必须声明其确定的类型 2.基本数据类型和引用数据类型 见图 3.类型转换 ...

  8. Java学习之路-----Java基础简介,基础语法,Java标识符,修饰符,关键字与注释

    这里写目录标题 Java简介 Java发展历程 Java语言平台版本 Java语言的特点 Java语言跨平台原理--JVM JRE和JDK JDK安装路径下的目录解释 Java基础语法 Java标识符 ...

  9. 打怪升级之小白的大数据之旅(一)<Java基础语法之Java的身世之谜>

    打怪升级之小白的大数据之旅(一) Java基础语法之Java的身世之谜 打怪升级之小白的大数据之旅(一) 前言 一.学习大数据之前 二.Java基础 what? why? how? 总结 前言 做了几 ...

最新文章

  1. logincontroller.java_使用HuTool工具类,实现登录验证码
  2. 关于MATLAB FFT频谱泄露和加窗
  3. 《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
  4. python assert 与 slice
  5. 信息学奥赛C++语言:梯形面积
  6. 布隆过滤器及其数学推导
  7. 2013年蓝桥杯模拟赛答案
  8. Mac系统SequelPro下载介绍和使用方法
  9. 图解TCPIP-传输层 TCP报文
  10. sybase 设置默认值_[转]SYBASE 数据库操作笔记
  11. IDEA 等常用编程软件注册码集合
  12. 电子元件的测量方法及在电路中的作用
  13. 【转】新方法打造自己的N合一 XP系统盘
  14. word中无法取消图片组合
  15. 使用RamDiskNT虚拟软盘后vmware无法识别
  16. PNAS:睡眠的fMRI频谱特征
  17. 仓库智能化管理:WMS仓储管理系统解决方案
  18. 非常详尽,多图慎入:Wayland与Weston简介
  19. 实训报告万能模板计算机专业,计算机专业实习报告模板
  20. 电脑考证一级Word文档

热门文章

  1. 作业帮完成 7.5 亿美元 E 轮融资,正价课学员两年增长超 10 倍
  2. windows server 2008 r2 搭建域隔离用户的ftp
  3. 九龙证券|美股创年内最大周跌幅!美联储官员密集发声!波音重挫近5%
  4. 1885页的Python完全版电子书,从基础到爬虫、分析等高级应用,限时下载
  5. 如何适配刘海屏和水滴屏手机?
  6. 决策树(二):回归树和模型树
  7. linux中vi和退出 简单操作
  8. Android测试框架
  9. python订单详细教程-python:拼多多订单接口api
  10. 【数据库视频】七种连接方式