java学习笔记——day1

字面量&变量

字面量:计算机用来处理数据的,字面量就是告诉程序员:数据在程序中的书写格式
字符:单引号,一个字符
字符串:双引号
布尔值:true,false

变量:用来存储一个数据的内存区域,且里面存储的数据可以变化
数据类型 变量名 = 初始值

变量使用的注意事项
1.变量必须先声明再使用
2.变量声明后,不能存储其他类型的数据
3.注意变量的有效范围(局部,全局),重名
4.变量定义时可以没有初始值,但使用时要给初始值

变量在计算机底层的原理:ASCII编码表

二进制数据:0B/0b开头
八进制数据:0开头
十六进制数据:0X/0x开头

计算机的数据单位
计算机的最小组成单元:字节B

数据类型


1.引用数据类型
String、Double、Integer等较为常见
2.基本数据类型:4大类8种

整型:byte(8),short(16),int(32),long(64)
浮点型:float(32),double(64)
字符型:char(16)
布尔型:boolean(与平台有关)

命名规则

我们不能用关键字来作为类名或者变量名称,否则报错

标识符:用于给类、方法、变量等起名字的规矩
==由数字、字母、下划线和美元符($)==等组成
不能以数字开头、不能是关键字、区分大小写

类名:大写开头,驼峰原则
变量名:小写开头,驼峰原则

类型转换

为什么要进行类型转换?:存在不同类型的变量赋值给其他变量
1.自动类型转换:类型范围小的变量可以直接赋值给类型范围大的变量(底层原理:位少可以扩,反过来不行,会造成数据错误
2.表达式的自动类型转换:
(1)表达式的最终结果类型由表达式中的最高类型决定(占的字节数谁高)
(2)在表达式中,byte,short,char是直接转换成int类型参与运算的
3.强制类型转换
(1)强行将大范围类型变量/数据转换成小范围类型

int a=20;
byte b =(byte)a;
//但a>127时会出错a=1500时b=-36(取后八位,计算机中是补码)

(2)可能会造成数据(丢失)溢出
(3)浮点型强转成整型,直接丢掉小数部分,保留整数部分

运算符operator

/:两个整数相除结果还是整数
3/2	:1
3*1.0/2	:1.5
3/2*1.0	:1.0	从左到右3/2结果为1,再与1.0相乘

%:结果符号取决于左边的数的符号

“+”做连接符:
“+”符号与字符串运算的时候是用作连接符的,结果依然时字符串
//原则:能算则算,不能算就在一起
int a=5;
a+"a"->5a;
15+"abc"+15->15abc15;
a+'a'->102

自增、自减:2++是错的
放在变量前:先对变量+1/-1,再拿变量的值进行运算
放在变量后:先拿变量的值进行运算,再对变量的值进行+1/-1

赋值运算符
a += b;//等价于a=(a的数据类型)(a+b)

逻辑运算符&,|,!,^
短路逻辑运算符:&&,||
&&:左边false右边不执行
||:左边true右边不执行

三目运算符

Result = a>b?a:b;如果a>b,赋值a,否则b

int max = i>j ? i>k ? i:k : j>k?j:k;//取最大值

运算符优先级(略)

API

Application Programming Interface,应用程序编程接口
Java写好的程序(功能代码),可以直接调用
Oracle也为java写好的程序提供了相应的API文档(技术使用说明书)
API下载路径
System、String在JDK中的java.lang包下
lang包不需要我们导包,是默认的包

程序的流程控制

顺序结构、分支结构、循环结构

switc分支注意事项
1.表达式只能是byte,short,int,char,JDK5开始支持枚举,JDK7开始支持String,不支持double,float,long
2.case给出的值不允许重复,且只能是字面量,不能是变量
3.break记得要写,否则会出现穿透现象(没遇到break继续跑下一条case),不过也有程序需要用到穿透性、

break只能用于switch和循环中,不要在if分支中使用(但if分支在循环语句内可以使用)
continute只能在循环中使用

数组

定义、操作数组元素、应用、注意点

数组是用来存储一批同类型数据的内存区域(可以理解成容器)

静态初始化数组:定义时直接赋值

数据类型[] 数组名 = new 元素类型[]{元素1,元素2,……};

简化:数据类型[] 数组名 = {元素1,元素2,……};

数组的基本原理
内存中开辟一块区域来放”数组名”变量,数组内元素对象的地址就存在里面
数组变量名中存储的是数组在内存中的地址,数组是引用类型

int[] age int age[]
数组一旦定义出来,程序执行的过程中,长度、类型就固定了

动态初始化数组
数据类型[] 数组名=new 数据类型[长度];

各类型数据的默认值
byte、short、char、int、long:0
float、double:0.0
boolean:false
引用数据类型(类、接口、数组、String):null
字符数组默认值为0(编号0)

注意:int[] arrs=new int[3]{1,2,3};是不正确的,两种初始化格式的写法是独立的,不能混用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

★Object★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值