[导读]:今日任务: 注释 变量:重点 数据类型:重点 ======================================================================= 注释: 作用: 解释代码的作用 部分代码暂时不参与编译,注释掉,不参与编译 种类: 单行注...
今日任务:
注释
变量:重点
数据类型:重点
=======================================================================
注释:
作用:
解释代码的作用
部分代码暂时不参与编译,注释掉,不参与编译
种类:
单行注释://
注释范围:从//开始,到这行的末尾
多行注释:/**/
注释范围:从/*开始,到下面离他最近的*/结束
多行注释不能嵌套
文档注释:/***/
注释范围:从/**开始,到下面离他最近的*/结束
和多行注释很像,可以跨行
javadoc:生成文档
语法:javadoc-d文档路径源代码文件.java
eg:javadoc-d document Homework4.java
对类的注释,方法的注释,属性的注释,可以用文档注释
文档中对应的类,方法,属性包含其中的注释部分
=======================================================================
变量:
存储数据
内存中开辟一块空间,值可变的
变量名:空间的代名词
利用变量名对这块空间操作,赋值(修改值),获取值
程序离不开数据处理,离不开变量
语法:
1)声明变量
数据类型变量名;
eg:int num1;
eg:int num1,num2;//多个变量用,隔开
2)变量赋值,第一次赋值称为初始化
变量名=值;
把值赋给变量,右边结果赋给左边变量
被赋值的变量名必须在左边,值在右边
eg:num1=4;
可以在声明时直接初始化
数据类型变量名=值;
eg:int num2=5;
eg:int num3=3,num4;
3)使用变量
变量名在等号左边赋值
变量名在等号右边获取值
在输出语句中,变量名获取值
注意:必须声明且赋值了,才可以获取值
变量命名规则:
组成:
第一个字符:字母,_,$
其他字符:字母,_,$,数字
通常以字母开头
驼峰命名法(小驼峰):
第一个单词小写,从第二个单词开始每个单词首字母大写
见名知意:
比如:年龄age
学生年龄studentAge stuAge
老师年龄teacherAge
不能使用关键字(保留字)
比如:class public void...
大小写敏感的,完全区分大小写的
类名:
驼峰命名法(大驼峰):
每个单词首字母都大写
标识符:需要我们起的名字,比如变量名,类名,方法名等等
eg:哪些变量名会报错
4age
age4√
age-4
age_4√
%tom
$tom√
VOID√方式不好,但不会报错
eg:值的交换:
变量num1值是4
变量num2值是6
要完成交换两个变量的值?
=====================================================================
数据类型
基本类型
java中空间最小单位:字节
整型:存储整数,范围不同
byte:字节型,1字节,-128~127-2^7~2^7-1
short:短整型,2字节,-32768~32767-2^15~2^15-1
int:整型,最常用,4字节,-2148473648~2148473647-2^31~2^31-1
long:长整型,8字节-2^63~2^63-1
字面值:也是有类型的
3:int
3L或者3l:long
字符型:
char:2字节
java使用unicode16字符集,存储的是字符对应的码值
也可以把字符型归为整型
字面值:
用单引号括起来:比如'我''a''1''*'
有一些字符无法直接表达,利用转移字符来表达
比如换行符,
制表符,
反斜杠,
英文的双引号:"
浮点型:不是精确存储,和实际值可能有差异的
float:单精度浮点型,4字节,精度在6~7位
double:双精度浮点型,最常用,8字节,精度在15位
字面值:
1.1,1.0,2.3:double
2.3e2:2.3*10^2 aeb:a*10^b a:整数浮点数都可以,b只能是整数
1.1F或1.1f:float
布尔类型:
boolean:1字节,只有两个值,true(真,成立),false(假,不成立)
条件,循环中使用到布尔类型
引用类型(后面学习,重点,难点)
数组,对象
字节:
1字节=8位
1T:1024G
1G:1024M
1M:1024K
1K:1024字节
1字节:8位
计算机:二进制,0,1
1位:存0或1
2 4 8 16 32 64 128 256
2的10次方:1024
进制:了解
计算机中:二进制0,1以0B开头,0B101
实际表达数字:十进制0~9
其他进制:八进制0~7以0开头,01,012
十六进制0~9A~F以0X开头0X1 0X12
十进制和二进制的相互转化
十进制转二进制:利用短除法
不断除以2,取余数,直到商是0为止,把所有的余数倒置抓换成对应的二进制结果
二进制转十进制:
每一位乘以2的(位数-1)次方的和
求:十进制120对应的二进制是多少?0B1111000
求:求二进制1011001对应的十进制是多少?89
了解八进制和二进制相互转化:
一个八进制位对3个二进制位
0B10 111 011:0273
0122:0B001 010 010
计算机存储时
最高位符号位:0表示正1表示负
以8位为例
原码:
正整数:3->00000011
负整数:-3->10000011
反码:
正整数不变
负整数:除了符号位,按位取反(0->1,1->0)
正整数:3->00000011
负整数:-3->10000011(原码)
11111100(反码)
补码:
正整数不变
负整数:在反码基础上+1
除了符号位以外,按位取反再+1
正整数:3->00000011
负整数:-3->10000011(原码)
11111100(反码)
11111101(补码)
补码->除了符号位以外,按位取反再+1
11111101(补码)
10000010
10000011(原码)
存储时用补码
byte b1=3;//-128~127
1字节:8位
正整数:1~127
0
负整数:-128~-1
原码:
00000001~01111111(1~127)
00000000,10000000(0就有2种表示形式,不合理)
11111111~10000001(-127~-1)
反码:
00000001~01111111(1~127)
00000000,11111111(0就有2种表示形式,不合理)
10000000~11111110(-127~-1)
补码:
00000001~01111111(1~127)
00000000,00000000(0只有1种表示形式)
10000001~11111111(-127~-1)
10000000:没用上,代表-128
补充:运行的程序可能需要和用户交互,通过键盘输入值进行赋值
暂时把程序记住:
InputDemo.java
//导入系统提供的工具类Scanner
import java.util.Scanner;
public class InputDemo{
public static void main(String[]args){
//创建一个Scanner对象,用来输入值
//input:是引用类型的变量名,变量名随意
Scanner input=new Scanner(System.in);
//从键盘输入两个整数,求和
System.out.println("请输入第一个整数:");
//input.nextInt():获取键盘输入的一个整数
int num1=input.nextInt();
System.out.println("请输入第二个整数:");
int num2=input.nextInt();
int result=num1+num2;
System.out.println(result);
}
}
Scanner input=new Scanner(System.in);
input.nextInt():int
input.nextDouble():double
input.nextFloat():float
input.nextLong():long
类型转换:
针对基本类型中的数值型(除了布尔类型)
实际中,可能会出现不同类型的数据做运算,涉及到类型转换
eg:输入三角形的底(整型)和高(整型),求面积,考虑到可能会.5,选择了double
把几个数值型排序:
byte,short,char<int<long<float<double
自动类型转换:
1)小的可以直接赋值大的类型
eg:double d1=3;
2)int字面值可以直接赋给byte,short,char,但不能超过范围
eg:byte b1=3;
byte b2=128;//错误,超过范围
3)byte,short,char在参与运算时,值会自动转换成int来参与运算
eg:byte b1=1;
byte b2=2;
byte b3=b1+b2;//错误,byte在参与运算时自动转换成int
4)在参与运算时,运算的结果取类型较大的
eg:
int i1=3;
double d1=i1+1+1.1;
//i1+1:int
//4+1.1:double
double area=bottom*height/2
int int
3 5
7
double area=bottom*height/2.0
int int
3 5
7.5
强制类型转换:
类型较大的赋给类型较小的
编译无法通过,可能会导致值溢出,结果是意外的
可以通过强制类型转换,编译通过,表示我们接受意外的结果
类型1变量1=(类型1)变量2;
eg:
double d1=3.3;
int i1=(int)d1;
=====================================================================
明日任务:
1.运算符
2.条件结构(一部分)
练习题:可以私聊作者
多敲代码,增加代码感觉和熟练度
笔记,重点部分过一遍
本文来自投稿,不代表阿习进阶博客立场,如若转载,请注明出处:https://www.yanxias.com/Java/14.html

说点什么吧
- 全部评论(0)
还没有评论,快来抢沙发吧!