1.注释

注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。

Java中的注释分为三种:

单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。

1 //这是单行注释

多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。

1 /*
2 这
3 是
4 多
5 行
6 注
7 释
8 */

文档注释。文档注释以 /** 开始,以 */ 结束。

/**
* 这是文档注释
* @author ZhiyDev
*/

2.关键字

关键字是指被java语言赋予了特殊含义的单词。

特征:全部小写。

3.常量

在程序运行过程中,其值不可以发生改变的量。

常量
字符串 用双引号括起来的多个字符(可以包含0个、一个或多个) “Hello World”、“A”、“”
整型 整数 1、2、10、-8
浮点型 小数 1.5、2.8、99.99
字符型 用单引号括起来的一个字符 ‘a’、‘c’
布尔型 布尔值,表示真假,只有两个值 true、false
空常量 一个特殊的值,空值 null

除空常量外,其他类型均能通过输出语句输出。

1 public class Demo {
2   public static void main(String[] args) {
3     System.out.println(10); // 输出一个整数
4     System.out.println(5.5); // 输出一个小数
5     System.out.println('a'); // 输出一个字符
6     System.out.println(true); // 输出boolean值true
7     System.out.println("你好,世界"); // 输出字符串
8   }
9 }

4.数据类型

Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型引用数据类型两种。

Java中的基本数据类型:

Java基本数据类型
数据类型 关键字 内存占用 取值范围
整型 byte 1 -128~127
short 2 -32768~32767
int(默认) 4 -2的31次方到2的31次方-1
long 8 -2的63次方到2的63次方-1
浮点型 float 4

负数:-3.402823E+38到-1.401298E-45

正数: 1.401298E-45 到 3.402823E+38

(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。)

double(默认) 8

负数:-1.797693E+308 到 -4.9000000E-324

正数: 4.9000000E-324 到 1.797693E+308

字符型 char 2 0-65535
布尔型 boolean 1 true,false

5.变量

5.1 概述

变量:在程序运行过程中,其值可以发生改变的量。 从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。

格式为:数据类型 变量名 = 初始化值;

1 int a = 1;
2
3 String str = "Hello world";

或者也可分开写

1 String str;
2
3 str = "hello world";

还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。但在实际的开发中不建议使用这种方式,因为会降低程序的可读性。

5.2 使用变量时的注意事项

1).在同一对花括号中,变量名不能重复。

2).变量在使用之前,必须初始化(赋值)。

3).定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。

4).定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是 double, double的取值范围是大于float的,类型不兼容。

6.标识符

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则:

由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。

不能使用java中的关键字作为标识符。

标识符对大小写敏感(区分大小写)。

Java中标识符的命名约定:

小驼峰式命名:变量名、方法名 首字母小写,从第二个单词开始每个单词的首字母大写。

大驼峰式命名:类名 每个单词的首字母都大写。 另外,标识符的命名最好可以做到见名知意。

7.类型转换

在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换强制类型转换

7.1 自动类型转换

把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。

1 double a = 10;    //将整型10赋给double类型的变量a

7.2 强制类型转换

把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。

强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

注意:这种转换可能会丢失精度。

1 double num1 = 1.5;
2
3 int num2 = (int) num1; // 将double类型的num1强制转换为int类型
4
5 System.out.println(num2); // 输出1(小数位直接舍弃)

数据范围大小:

double > float > long > int > short = char > byte

注:

1. char类型的数据转换为int类型是按照码表中对应的int值进行计算的。

1 int a = 'a';
2
3 System.out.println(a); // 将输出97

2. 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。

 1 byte b1 = 1;
2
3 byte b2 = 2;
4
5 byte b3 = b1 + b2;
6
7 // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。
8
9 // 修改为:
10
11 byte b3 = (byte) (b1 + b2);

3. boolean类型不能与其他基本数据类型相互转换。

JavaSE02-基本语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. Java8用了这么久了,Stream 流用法及语法你都知道吗?

    1.简介 Stream流 最全的用法Stream 能用来干什么?用来处理集合,通过 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,Stream API 提供了一 ...

  2. SpringIOC的高级特性

    目录 1. lazy-Init延迟加载 1.1 XML方式开启延迟加载: 1.2 注解开启延迟加载: 1.3全局配置--default-lazy-init="": 应用场景: 2. ...

  3. 在Mac上也能轻松拥有Windows应用程序的简便方法

    一般而言,如果我们想要在Windows的环境下下载一款软件那是件很方便的事情.只要我们登陆软件的官网进行下载即可.但是如果我们使用的是Mac OS系统,很多用户就会发现,许多软件会出现不兼容的情况. ...

  4. Spring简介以及配置信息

      Spring框架是一种轻量级的.一站式的企业级开发解决方案 框架(framework):是一组设计思想.规范.API的精心组合,专门用来解决某一层次或领域的问题 轻量级(lightweight): ...

  5. Vue Springboot (包括后端解决跨域)实现登录验证码功能详细完整版

    利用Hutool 基于Vue.ElementUI.Springboot (跨域)实现登录验证码功能 前言 一.Hutool是什么? 二.下面开始步入正题:使用步骤 1.先引入Hutool依赖 2.控制 ...

  6. 关于Jersey框架下的Aop日志 和Spring 框架下的Aop日志

    摘要 最近新接手的项目经常要查问题,但是,前面一拨人,日志打的非常乱,好多就根本没有打日志,所以弄一个AOP统一打印一下 请求数据和响应数据 框架 spring+springmvc+jersey 正文 ...

  7. TeXstudio 2020显示行号(与之前的版本位置不太一样)

  8. JAVA中删除文件夹下及其子文件夹下的某类文件

    ##定时删除拜访图片 ##cron表达式 秒 分 时 天 月 ? ##每月1日整点执行 CRON1=0 0 0 1 * ? scheduled.enable1=false ##图片路径 filePat ...

  9. CPU:网卡老哥,你到底怎么工作的?

    阿Q造访 我是一个网卡,居住在一个机箱内的主板上,负责整台计算机的网络通信,要是没有我,这里就成了一个信息孤岛了,那也太无聊了- 上个周末,服务器断电维护了,这是我难得的休息时间,我准备打个盹儿眯一会 ...

  10. Python to Exe By Install PyInstaller on Win7-64bit

    本文主要记录为史振华在尝试转换PY文件为EXE文件过程中各种疑惑和最终解决方法,尝试了PYTHON 2.7/3.5/3.6及其相关依赖pywin32-222.win32/pywin32-222.win ...