Java Part 001( 03_01_数据类型和运算符 )

时间:2022-12-13 11:19:22

注释

Java语言的注释一共有三种类型,分别是单行注释、多行注释和文档注释。

1. 单行注释
  单行注释就是在程序中注释一行代码,在Java语言中,使用双斜线“//”进行单行注释。 2. 多行注释
  多行注释是指一次性注释多行代码,在Java语言中,使用“/*……*/”进行多行注释。 3. 文档注释
  文档注释用来说明程序的信息,在Java语言中,使用/**开头,*/结束。可以包含一个或多个@标签,每一个@标签必须在一个新行的开始紧跟星号*。

举个栗子:

/**
*@author HelloWorld102
*这是一个文档注释
*/
public class Test{
/*
这是一个多行注释
*/
public static void main(String[] args){
//这是一个单行注释
System.out.println("Hello World"); }
}

注释的使用

1. 排查错误, 快速排查出存在错误的代码片段

2. 书写逻辑处理细节, 不管是复杂还是简单的逻辑处理, 为了方便后续代码调整是节省时间, 书写代码完成了什么样的逻辑处理

3. 书写技术点描述, 有些语句可能不太常用, 避免每次看到相关代码都去百度

标识符和关键字

标识符

标识符

  所谓的标识符, 就是用于给程序中变量、类、方法命名的符号

标识符的规则

  1. 由字母、数字、下划线和美元符号($)组成, 但不能以数字开头

  2. 不能是Java的关键字或保留字

Java关键字

Java关键字

  Java语言中有一些具有特殊用途的单词被称为关键字, 

  当定义标识符时, 不能和关键字相同, 否则将引起错误, 如无法通过编译等

注意:
  
  1. Java的所有关键字都是小写   2. main是默认入口的方法名,不是关键字,不是保留字

Java Part 001( 03_01_数据类型和运算符 )


数据类型分类

Java Part 001( 03_01_数据类型和运算符 )

注意:

  空类型(null type)就是null值的类型, 这种类型没有名称;

  空引用(null)是null类型变量唯一的值, 空引用可以转换成任何引用类型

  空引用只能转换成引用类型, 不能转换成基本类型

Java 常量

Java 中主要有如下几种类型的常量

  • 数值常量 (整数, 小数)

    • 整数的四种表现形式( 二进制, 八进制, 十进制, 十六进制 )

    • 进制: 一种计数方式

  • 字符常量, 字符串常量

  • 布尔型常量

  • null常量

System.out.println(12);
System.out.println(1.23);
System.out.println('a'+0);
System.out.println("abc");
System.out.println(true);
System.out.println(null); //null不可以打印,也不可以参与运算

进制相关的知识( 扫盲 )

1byte = 8bit ( 一个字节为8个比特位 )

进制的转换
* 十进制转换为二进制 -- 除/余数
* 二进制转换为八进制, 十进制, 十六进制 -- 二进制按照三位分组为八进制

负数的进制表现形式( 扫盲 )

一个整数在计算机中的表现形式
6 ===> 00000000 00000000 00000000 00000110 一个整数占4个字节, 一个字节8个bit
问题:-6的表现形式是什么呢?
整数的二进制取反, 再加1
0000 0110
取反 1111 1001
+ 1 0000 0001
--------------
1111 1010
小知识: 负数二进制的最高位为1

Java 变量

Java 中主要有如下几种类型的变量

  • 局部变量

  • 类变量(静态变量)

  • 成员变量(非静态变量)

Java变量的概念
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化 为什么要定义变量
存储区域的重复使用; x = 3; x = 5; 什么时候使用变量
当数据不确定的时候,使用变量进行表示.
变量就如同数学中的未知数. 变量的定义格式
数据类型 变量名 = 初始化值; int a = 0; 注意:
变量在使用之前必须要进行初始化

变量的数据类型

记忆技巧: 四类八种

基本数据类型
数值型数据 整型 -------- byte 1个字节
-------- short 2个字节
-------- int 4个字节
-------- long 8个字节 (L/l)
浮点型 -------- float 4个字节 (F/f)
-------- double 8个字节
字符型数据 -------------- char 2个字节
布尔型数据 -------------- boolean 4个字节 引用数据类型 类
接口
数组

变量的"类型提升" 和 "强制转换"

自动类型提升: 低类型 --> 高类型
当两个不同类型的数据进行运算时, 转换成占用内存比较大的那种类型之后再进行运算
比如:
int a = 3;
byte b = 2;
int i = a + b; //a占用内存大, 所以b会提升为int类型进行运算 强制类型转换: 高类型 --> 低类型 char b = (char)a;
将一个占用内存大的数据, 赋值给一个占用内存小的数据是, 需要进行强制类型转换
比如:
显式强制类型转换
int a = 3;
byte b = 2;
byte i = (byte) (a + b); //a占用内存大, 所以b会提升为int类型进行运算 隐式强制类型转换
byte b = 2 + 3;

扩展信息 - 码表( ASCII美国码表 gb2312 国标码表 gbk国标扩展码表 Unicode国际标准码表 )

ASCII美国码表   gb2312 国标码表    gbk国标扩展码表   Unicode国际标准码表(万国码)

扩展信息 - 类型转换考题

byte b = 3 + 4;
1.是否可以正常执行 可以
2.执行原理 右边为int类型的数据, 当进行赋值是会进行判断, 如果符合范围, 隐式强制类型转换 int a = 2;
byte b = a + 4;
1.是否可以正常执行 不可以, 编译就会报错
2.执行原理 a是变量, 无法进行大小范围的检查, 必须进行强制类型转换 int x;
int a = 1;
int b = Integer.MAX_VALUE;
1.是否可以正常执行 可以
2.执行原理 都为同种类型, 超出后自动舍弃最高位

运算符

  • 算术运算符

  • 赋值运算符

  • 比较运算符

  • 逻辑运算符

  • 位运算符

  • 三元运算符

算数运算符

+   -   *   /   %  ++  --

/**

重点:
++ --
b=a++(a先参与运算,在自增) b=++a(a先自增,再参与运算) 如果不参与运算,仅为自增 了解:
1. 6370 / 1000 * 1000 = ? 答案: 6000, 两个整数运算得到的是整数
2. 5 % 2 答案: 1
-5 % 2 答案: -1 (模运算中的负数符号, 仅参考被模数)
2 % -5 答案: 1
3. "5+5"+5+5 和 "5+5"+(5+5) 答案: 5+5=55 5+5=10 */

赋值运算符

假设x=6、y=3:
=:若是x=y,那么x=3.
+=:x+=y相当与x=x+y,结果是x=9.
-=:x-=y相当与x=x-y,结果是x=3.
*=:x*=y相当与x=x*y,结果是x=18.
/=:x/=y相当与x=x/y,结果是x=2.
%=: 重点:
short s = 3;
s+=4; //正常执行, 该表达式底层进行了类型转换处理
s = s + 4; //编译失败, 高类型转换为低类型, 需要进行强制类型转换

比较运算符

>    <    >=    <=    ==    !=
比较运算符的结果为true或者false

逻辑运算符

!   &(&&)   |(||)  ^
作用: 连接布尔类型数据的表达式 !true-->false true&true--->true 注意: ^ 异或的两边如果相同,结果为false;两边不同结果为true. true^true-->false false^false--->false 重点: && 和||, 如果左边可以得到整个表达式的结果, 那么右边的不参与运算, 所以效率更高, 开发中常用.

位运算符

<<(左移)  >>(右移)  >>>(无符号右移)  &(与)  |(或)  ^(异或)  ~(反码)
作用: 用于对二进制进行运算.

Java Part 001( 03_01_数据类型和运算符 )

Java Part 001( 03_01_数据类型和运算符 )

未完, 待续......................

Java Part 001( 03_01_数据类型和运算符 )的更多相关文章

  1. 初识java之变量、数据类型和运算符(一)

    博友目标: 1.掌握变量的概念 2.引子----会使用常用数据类型 众所周知,每台电脑都有一个内存这么个必不可少的元素,那么到底内存到底是用来干什么的呢?其实啊,计算机内存相当于人类的大脑,计算机在处 ...

  2. 疯狂JAVA——第三章 数据类型和运算符

    3.1注释 1.单行注释 2.多行注释 3.文档注释——文档注释以斜线后紧跟两个星号(/**)开始,以星号后紧跟一个斜线结束(*/),中间部分都是文档注释,会被提取到API文档中. API文档类似于产 ...

  3. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  4. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  5. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  6. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  7. PostgreSQL自学笔记&colon;5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  8. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  9. &lbrack;02&rsqb;java数据类型和运算符等知识

    00 Java中的注释 为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释.注释不会出现在字节码文件中,即Java编译器编译时会跳 ...

随机推荐

  1. 梯度下降(Gradient Descent)小结

    在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法.这里就对梯度下降法做一个完整的总结. 1. 梯度 在微 ...

  2. Excel保护工作表

    最近见到一个Excel文件,其中的表不能选中,不能编辑,今天研究了一下 明白了其设置方法 excel中开始--格式--保护工作表--去掉所有勾选,输入保护密码  即可

  3. Codeforces Beta Round &num;69 &lpar;Div&period; 1 Only&rpar; C&period; Beavermuncher-0xFF 树上贪心

    题目链接: http://codeforces.com/problemset/problem/77/C C. Beavermuncher-0xFF time limit per test:3 seco ...

  4. python easy&lowbar;install centos 下安装过程和原理解析

    一.easy_install 安装过程 其安装过程有很多种,我也找了很多的例子,但是结果都不太好,以下方法的结果是不错的. easy_install与yum类似,使用easy_install,可以轻松 ...

  5. hdu 4000 树状数组

    思路:找出所有 a<b<c||a<c<b的情况,在找出所有的a<b<c的情况.他们相减剩下就是a<c<b的情况了. #include<iostre ...

  6. struts2 标签的使用之二 s&colon;iterator

    struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:s:iterator 标签有3个属性:    value:被迭代的集合    id   :指定集 ...

  7. 修改UISearBar的文字颜色,placehoder颜色及输入框颜色

    UISearchBar是我们经常会用到的一个控件-- 它由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField UITextField默认输入字体 ...

  8. Python可迭代对象、迭代器和生成器

    Python可迭代对象.迭代器和生成器 python 函数 表达式 序列 count utf-8 云栖征文 python可迭代对象 python迭代器 python生成器 摘要: 8.1 可迭代对象( ...

  9. android导航设计

    http://www.geekpark.net/read/view/199244 Android 应用中十大导航设计错误 http://mobile.51cto.com/design-432944.h ...

  10. Django基础模板层&lpar;75-76&rpar;

    Django框架之模板层(d75)一 模版语法之变量: ** locals() 会把*该*视图函数内的变量,传到模板    ** return render(request, 'index.html' ...