Java基础语法

3.1类型、变量与运算符

3.1.1类型

Java可分为基本类型类类型或参考类型。基本类型主要有

  • 整数:可分为short整数(2字节,-32768 -- 32767),int整数(4字节,-2147483648 -- 2147483647),long整数(8字节,-9223372036854775808 -- 9223372036854775807)。
  • 字节:byte,长度一字节,需要逐字节处理数据时使用,表示-128~127的整数。
  • 浮点数:主要用来存储小数数值,分为float浮点数(4字节)和double(8字节)。float,double精度范围分别为-126 -- 127和-1022 -- 1023。
  • 字符:char用来存储字符符号,JDK 8中Java字符采用Unicode 6.2.0编码,JVM中采用UTF-16 big EndIan,每个字符占2字节,汉字与英文字符都是采用双字节存储。char可表示的Unicode范围0 -- ffff。
  • 布尔:boolean代表true和false;

常用格式控制符号

System.out.printf("%d", arg)输出控制符号:%%表示%,%d以十进制格式输出,%f以十进制浮点格式输出,%o以八进制格式输出,%x以十六进制格式输出,%s字符串格式输出,%c字符符号输出,%h使用Integer.toString(arg.hashCode())来得到输出结果。

3.1.2变量

1、基本规则

  • 变量不可使用特殊字符,不可与Java关键词同名,不可与Java保留字同名。
  • 以小写字母开始,每个单词第一个字母大写,即驼峰式命名法。
  • 方法内部声明的变量是局部变量,变量在未赋初值即没有初始化之前不可以被引用。

2、字面常量

  1. int num1 = 12; //十进制表示
  2. int num2 = 0xc; //十六进制表示
  3. int num3 = 014; //八进制表示

浮点数也可用科学计数法表示

  1. double num1 = 0.00123;
  2. double num2 = 1.23e-3;

字符用'表示

  1. char c1 = 'S';
  2. char c2 = '李';

转义字符:

  1. \\ ————反斜杠\
  2. \' ————单引号
  3. \" ————双引号
  4. \f ————换页
  5. \n ————换行

3、数字常量表示法

用下划线更清楚表示

  1. int num4 = 1234_5678;
  2. double num5 = 3.1415_9265;

二进制也可以

  1. int num6 = 0b101010101010;
  2. int num7 = 0b1010_1010_1010;

3.1.3运算符

1、算术运算

+,-,*,/,%

2、比较、条件运算

  1. System.out.printf("10 >= 5 结果 %b%n", 10>=5);
  2. System.out.printf("10 <= 5 结果 %b%n", 10<=5);
  3. System.out.printf("10 != 5 结果 %b%n", 10!=5);

对于类类型声明的参考名称来说,两个参考名称使用==比较,是比较两个名称是否参考至同一对象。(字符串是一个对象,比较时不用==,而是equals())

条件运算符,使用方式如下

条件式 ? 成立返回值 : 失败返回值

  1. int score = 59;
  2. System.out.printf("该学生是否及格? %c%n", score >= 60 ? '是':'否');

3、逻辑运算

&&AND(且),||(或)OR,!(非)NOT。

4、位运算

&(AND),|(OR),^(XOR异或),~(补码,按位取反),<<左移(左边移除去的位被丢弃右边补0),>>右移(右边一处去的位被丢弃,左边补上原来的位),>>>(右移后左边补0)。

5、递增递减运算

6、指定运算符

+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=

3.1.4类型转换

  • 精度转换

    float f1 = 3.14f;

    f2 = (float) 3.14;

    通过以上两种方式可以通过编译。

    程序中写下整数时默认使用不超过int类型的长度2147483647,使用long c = 21_4748_3648L; 可以通过编译。

  • 自动提升类型

    表达式中包含不同类型,运算是以长度最长类型为主。

    short e = 1, g = 2;

    short h = (short) (g + e);

运算整数时如果不大于int,则在int空间计算,int结果无法直接放入short,所以需要强转。

int最大2147483647 + 1会得到-2147483648,即会溢出。

3.2流程控制

3.2.1 if...else条件式

3.2.2 switch条件式

  1. switch() {
  2. case 整数、字符、字符串或Enum:
  3. 描述句;
  4. break;
  5. case 整数、字符、字符串或Enum:
  6. 描述句;
  7. break;
  8. ....
  9. default:
  10. 描述句;
  11. }

3.2.3 for循环

  1. for(初始试; 执行结果必须是boolean的重复式; 重复式) {
  2. 描述句;
  3. }

第二个区域若没有写就是默认的true。

for(;;) {}表示无穷循环。

3.2.4 while循环

  1. while(条件式){
  2. 描述句;
  3. }

while又称为前测试循环,可以使用do...while后测试循环,先执行动作在判断要不要重复。

  1. do {
  2. 描述句;
  3. }while(条件式);

3.2.5 break、continue

  • break在switch主要用来中断下一个case比较,在for,while,do...while中主要用来中断当前循环。

  • continue与break类似,但在循环中只是中断但前循环,回到开头进行下一次循环,不离开循环。

  • break和continue还可以配合标签使用,

    1. back : {
    2. for(int y = 1; y <= 10; y++) {
    3. if(y == 9) {
    4. System.out.println("break");
    5. break back;
    6. }
    7. }
    8. System.out.println("test");
    9. }

当执行到break back时返回至back标签处之后整个back区块都不执行而跳过。

  1. back1 : for(int x = 0; x < 10; x++) {
  2. back2 :
  3. for(int z = 0; z < 10; z++) {
  4. if (z == 9) {
  5. continue back2;
  6. }
  7. }
  8. System.out.println("test");
  9. }

continue只能设定在for循环之前,可以自由的跳到任意层循环。

Java学习笔记,第三章的更多相关文章

  1. Java 学习笔记 ------第三章 基础语法

    本章学习目标: 认识类型与变量 学习运算符的基本使用 了解类型转换细节 运用基本流程语法 一.类型(基本类型) 所谓基本类型,就是在使用时,得考虑一下数据用多少内存长度存比较经济,利用程序语法告诉JV ...

  2. JVM学习笔记-第三章-垃圾收集器与内存分配策略

    JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...

  3. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

  4. 《DOM Scripting》学习笔记-——第三章 DOM

    <Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...

  5. The Road to learn React书籍学习笔记(第三章)

    The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...

  6. [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设

    [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...

  7. JavaScript高级编程学习笔记(第三章之一)

    继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...

  8. [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]

    第三章 实战MVC J2EE如何集成一切 Java2企业版(Java 2 Enterprise Editon,J2EE)是一种超级规范.规定了servlets2.4,JSP2.0,EJB2.1(Ent ...

  9. python学习笔记——第三章 串

    第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...

  10. c#高级编程第七版 学习笔记 第三章 对象和类型

    第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...

随机推荐

  1. Image Blending

    给定两幅或者多幅图像,如何无缝自然拼接,这就是Image Blending 需要解决的问题(演示效果请看http://blog.sina.com.cn/s/blog_67f034a50100iuqt. ...

  2. github之git基本命令介绍的简单整理

    git 格式: git [--version] [--exec-path[=<path>]] [--html-path] [--info-path] [-p|--paginate|--no ...

  3. linux磁盘读写性能优化

    在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文 ...

  4. Hdu5093 Battle ships 二分图

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...

  5. 关于MFi认证你所必须要知道的事情

    MFiLogo 前面我写了一篇文章<iOS App连接外设的几种方式>,其中EAP和NCM是都需要做MFi认证.对于苹果的MFI认证,对iOS开发的同学来说其实是一个比较陌生并且繁琐的to ...

  6. [R语言]R语言使用多线程对数据库进行大批量访问时出现无法连接问题

    问题描述: 在R中使用多线程对数据库进行写入,在服务器端运行脚本(linux环境),总是在第6-7万个任务线程时,出现无法连接到数据库的问题.任务中断,错误信息为task 6xxxx failed,C ...

  7. Python2 连接MySQL

    先安装MySQL-python yum install -y MySQL-python 测试代码: # -*- coding: utf-8 -*- import os import MySQLdb i ...

  8. PHP中面向对象的关键字

    php面向对象中常用的关键字有final.static.const (1)final: 1,final不能修饰成员属性 2,final只能修饰类和方法 作用: 使用final修饰的类不能被子类继承 使 ...

  9. 【Alpha】Daily Scrum Meeting第六次

    一.本次Daily Scrum Meeting主要内容 各队员的任务完成情况 接下去要做的任务有哪些方面的问题 二.项目进展 学号尾数 今日已完成任务 接下去要做 502 统一Excel表头数据的英文 ...

  10. PHP连接数据库的方法

    mysql可通过两种方式通过PHP和web相连,一种通过php的mysql相关函数,另一种通过php的ODBC相关函数. 相关函数如下: MYSQL函数 mysql_affected_rows: 得到 ...