1.1 Java之变量和基本运算

前言:本系列主要复习Java的一些重要知识点,天马行空,不成体系,望见谅!


目录

常用命令行指令

Java概述

环境变量的配置(在任何目录下均可运行命令)

Java程序运行准备与步骤

Java程序结构

注释

文档注释

标识符

命名规则

命名规范(可不遵守)

Java变量概述

整型变量

浮点型变量

字符型变量

字符型常量

布尔型变量

自动类型转换

自动类型转换的逆过程

三码(补码,原码,反码)

变量运算

除法/

取模%

运算符++

带字符串的混合运算


常用命令行指令

  • dir :  列出当前目录下的文件以及文件夹(directory)
  • md :   创建目录(make directory)
  • rd :   删除目录(remove,要求目录为空才能删除)
  • cd :   进入指定目录
  • cd.. : 退回到上一级目录
  • cd\:   退回到根目录
  • del :  删除文件(特指文件,若del目录,表示删除目录内容,目录保留)
  • exit : 退出 dos 命令行

  • echo表示创建文件,name:Tom为写入TXT中的内容
  • *.doc表示所有doc文件
  • del 1表示删除目录1中的所有文件,但不删除目录本身

Java概述

  • Java三大特性:封装,继承,多态,核心机制为JVM和GC。
  • Java类间单继承,接口间多继承
  • JDK1.8即JDK8.0,J2EE即Java EE,J2SE即Java SE
  • 对应不同的系统平台,JVM(Java虚拟机,虚拟计算机)不同(进一步地,JRE不同),JVM负责程序运行
  • 源文件.java--->编译生成.class文件,即字节码文件
  • 层次:硬件--》操作系统--》JVM(负责执行字节码文件)

环境变量的配置(在任何目录下均可运行命令)

 

  • 配置path环境变量,path表示OS执行命令时的搜寻路径,配置如下图(第一张)
  • classpath表示运行Java程序时寻找的class所在路径
  • %~%表示动态获取地址,对应变量JAVA_HOME(名字随意),便于地址改变时不需要重新配置路径

 

 


Java程序运行准备与步骤

  • JDK即Java开发工具包括JRE(运行环境,包括类库和JVM),配置JRE的PC即可运行Java程序

 

  • javac.exe:编译工具
  • jar.exe:打包工具
  • java.exe:运行工具

 

  • 运行时先cd到目录下,再javac hello.java(生成字节码文件)
  • 然后java hello(解释执行,此时不需要.java后缀)
  • 即运行程序的步骤为:先编译,然后生成多个字节码文件,然后运行

Java程序结构

1)

public static void main(String[] args){}

//主方法,程序入口

System.out.printIn("");//有In表示写完换行

 

2)

一个源文件(.java后缀)可以包含多个类,一个源文件编译生成多个字节码文件(字节码文件数量与类的数量一致,且以源文件中的各类名命名)

3)运行时只运行main方法所在类的字节码文件

源文件中多个类里只有一个public类(可没有public类),若存在,则该类名必定与源文件名相一致。

 


注释

 

关注多行不可嵌套

/*   /* */(此处即结束) */


文档注释

 

格式

/**

@author liu

@version 1.1

*/

 

特点:

  • 可被javadoc解析,生成一套以网页文件形式体现的文档说明
  • 以 /** 开始,以 */结束
  • 可参考javadoc命令详解

 

javadoc -d 文档存放目录名 -author -version 源文件名.java


src.zip为存储源码的压缩包


标识符

 

  • Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。
  • 命名标记符时要避免使用这些保留字
  • byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const
  • Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
  • 凡是自己可以起名字的地方都叫标识符。
  • 关键词字母均小写

 

命名规则

 

  • 标识符可选取0-9,_,$,即大小写字母(大小写区分
  • 标识符无空格,不可数字开头
  • Static(Java区分大小写,对) static1(对)

 

命名规范(可不遵守)

 

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz(TestJava)
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz(myInt/getId)
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

Java变量概述

 

先声明(int a = 1;//要有初始化值,此处为显式初始化)后使用

 

 


整型变量

Java各整类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。

 

java的整型常量默认为 int 型(如5为int类型),声明long型常量须后加‘l’或‘L’

附:remember整型所占字节


浮点型变量

Java 浮点类型(带小数点)也有固定的表数范围和字段长度,不受OS的影响。
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’
浮点型常量有两种表示形式:
十进制数形式:如:5.12       512.0f        .512   (必须有小数点
科学计数法形式:如:5.12e2      512E2     100E-2

float f1=12.3f;//报错,没F损失精度,因为浮点型默认为double,8字节放入4字节

 

long i1=2134;//不损失精度,因为默认int,小可放入大(4->8),但大不可放入小中


字符型变量

char两字节

 

char = 'ab';//error

String = "ab";//right

 

char型数据用来表示通常意义上“字符”(2字节)

字符型常量

字符常量的三种形式:

1)字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符(中文,英文等)。例如:char c1 = 'a';   char c2 = '中'; char c3 =  '9';

 

2)使用转义字符‘\’将其后的字符变为特殊字符型常量

例如:char c3 = ‘\n’;  // '\n'表示换行符

 

3)使用 Unicode 值来表示字符常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n

 

char型可以运算,根据其对应的Unicode码,'a'为97,'A'为65.

 

syso("  \"帅哥\" ");//灵活使用转义字符,表示""


布尔型变量

  • boolean类型数据只允许取值true和false,无null
  • 不可以0或非 0 的整数替代false和true,这点和C语言不同
  • 一字节为8位
  • ASCII(一字节,首位规定为0,128个字符)-->Unicode(三字节)-->UTF-8(可变长度)

自动类型转换

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:



多种类型数据混合运算时,自动将所有数据转换成容量最大的那种数据类型,然后再进行计算

注:包装类不会自动类型转换

     
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

如short+byte--->int(赋值给short类型变量:error)   char + byte --->int

 

当把任何基本数据类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

String a1 = "ab" + 123;//yes

String a1 = ab;//error

 

string st1 ="12"<=>string st1 = 12 +"";

float a=12L;//不损失精度,关注上表,因为存储方式不同,float的一些位数为小数位

            //float用科学计数法表示


自动类型转换的逆过程

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低(截取高位)或溢出,格外要注意

 

字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);

 

boolean类型不可以转换为其它的数据类型。


三码(补码,原码,反码)

补码为底层存储形式,关注-128的补码,先看-127的补码,然后减一

负数反码——》补码:加1即可

正数三码合一

 


变量运算


除法/

int i=12;

int d = 12/5;//2

double d = double(i/5);//2.0,相当于int a = i/5 ; double d = double(a);

double d = i/5;//自动类型转换,5为int,所以为2.0,不要忘了0啊,相当于int a = i/5 ;double d = a

double d= (double)i/5;//2.4

double d1 = i/5.0;//自动类型转换,5.0为double,所以为2.4


取模%

int i1 = 12%5;//2

int i2 = -12%5;//-2

int i3 = 12%(-5);//2

int i4 = -12%(-5);//-2

符号取决于被模数


运算符++

int myInt1 = 10;

int myInt2 = myInt1 ++;//先运算后++

sop(myInt1);//11

sop(myInt2);//10

 

int myInt1 = 10;

int myInt2 = ++ myInt1;

sop(myInt1);//11

sop(myInt2);//11


带字符串的混合运算

sop("\t"+"\n"+1);//字符串

sop('\t'+'\n'+1);//char类型,作和运算

char c1 = 'a';

sop((int)c1);//强制类型转换{小变大},为了看c1的Unicode值

sop(c1+0);//与上行代码等效,本行代码自动转换为int类型

 

System.out.println((int)'\t');
System.out.println((int)'\n');
System.out.println('z');            //println(char)
System.out.println('\t'+'\n');   //先转化为int值后运算
System.out.println("\t"+"\n"+5); //实际意义

9
10
z
19
    
5

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值