Java小白的第二课——Java基础结构、关键字、变量、数据类型、运算符

Java扫盲以及数据运算

Java基础结构

1. 包(Package):相当于目录

package放在代码第一行 包的路径

package cm.day01;
·
·
·

2. 类

Java代码的基础结构
2.1. 创建一个类

class 类名(
	//代码内容
)
  • Class:类是Java程序的基本结构;
  • Class的命名规则:首字母大写 大驼峰命名法 不能用特殊字符或者数字开头;
  • 类里面可以包含很多方法;
  • 每一个语句结束后都要用分号结尾;
  • 创建类的规则:
    1) Java文件可以有多个类;
    2)但是public修饰的类只能有一个;
    3)被public修饰的类名必须和文件名相同;
    4)语句都要放在main方法里;
    5)Java程序运行的时候入口是main方法;
    6)包的概念:同一个包下Java文件名不能重复;
  • 控制台输出语句
System.out.println("Hello");//换行输出
System.out.print("hello");//不会换行输出

Java中的关键字

  1. 关键字指☞实现定义好的,有特殊意义的,计算机能认识的一些字符,也成为保留字
  2. 关键字不能用来命名,无论是包名、类名、变量名、参数名等;
  3. 关键字均是小字母:
    关键字表

标识符,常量、变量

1. 标识符:

  • 标识符可以用来定义类名、方法名、变量名等,标识符的常见命名规则:
    • 标识符应由字母、数字、下划线和$组成;
    • 不能以数字开头;
    • 使用小骆驼峰命名法,并且要见名知意;
    • 在同一个作用域,不能重复;

2. 变量和常量

  1. 常量:在程序运行期间,这个值会一直不变,使用final修饰;
// 这一个常量,表示一个人的年龄
final int age = 18;
age = 20;//这里就会报错
//常量一但定义就不能修改
  1. 变量:
    • 定义:通俗来说,就是和常量对应,程序运行期间可以发生改变;
    • 本质来说,变量应该在内存中一个区域存储,这个大小由数据类型来确定;
    • 语法: 声明变量的语法:
      数据类型 变量名;
      • 声明变量意味着分配内存地址;
      • 以后将通过变量名来引用这部分内存
      • 分配给变量的内存多少取决于变量的数据类型

Java中两大数据类型

  • 分类:基本数据类型(8种) 引用数据类型(字存串、对象、数组、集合,所有引用类型的默认值都是 null;
    数据型类

1.基本数据类型

  • int: 整数类型 4个字节长度 ,最长10个长度,默认值是0;
  • float: 单精度浮点型(小数) ,4字节长度;
  • doable: 双精度浮点型(小数),8字节长度;
  • char: 字符a-z,2字节长度;
  • 如何定义变量:
    将右侧的值赋给左侧的变量。
    数据类型 变量名 = 值;
int a = 10;
float f = 1.23f;
double d = 1.45;

基本数据类型一共有8种,基本数据类型存在中。

类型长度(位)长度(字节)表示范围
byte8位1字节-128∽127(-27~27-1)
short16位2字节-215~215 -1
int32位4字节-231~231 -1
long64位8字节-263~263 -1
float32位4字节-3.403E38~ 3.403. E 38
double64位8字节-1.798E308∽1.798E308
char16位2字节表示一个字节
boolean8位1字节true和false

2.ASCII码表

ASCII码表

3.数据类型转换

  • 自动转换: 低精度转高精度;
  • 强制转换: 高精度转低精度;
float f = 1.72f;
double d = f;//自动转换
int a =(int)f;//强制转换

4.引用类型

  • 引用类型: 类 接口 枚举 注解 数组等;
  • 引用数据类型存在中;
  • 在方法中
    • 引用名存在栈中;
    • 对象存在堆中;
String str = new String(张三);

栈和堆

5.控制台输入:

== Scanner ==

Scanner scr = new Scanner(System.in);
int a = scr.nextInt();//下个输入整数并赋值给a
double d = scr.nextDouble();//下个输入小数
String str = scr.next();//下个输入字符串

运算符

1.赋值运算符

符号作用
=把右面的值给左面
运算符=左边的值和右侧运算再赋给左边
int a = 10;
a = a+5;//a =15
a += 5;//a=15

2.算术运算符

符号作用
+ - * /加 减 乘 除
%取余数
++ –自身加 1 自身减1

3.逻辑运算符

符号作用
&&短路与 当两侧同是true时输出true ,有任一个条件是false输出为false且后面的条件不会执行
||短路或 当两侧同是false时输出 false,任意一个条件是true输出为true且后面条件不会执行
!取反 结果是true那么输出是false,反之则输出true
&或者|按位运算符断判方式与短路类似,只不过按位会执行完所有条件

4. 三目运算符

表达式 ? 为 true执行 : 为false执行;

int a=1,b=2;
a>b?a:b;

5.++和–

运算符放在变量前放在变量后
++++a,先自加,再把 a 的值引入算式a++,先把 a引入算式运算,再把a自加
–a,先自减,再把 a 的值引入算式a–,先把 a引入算式运算,再把a自减
int a = 10,b=10;
System.out.println(a++);//输出结果是10
System.out.println(++b);//输出结果是11

6.位运算符

面试题:如何快速的得到2的4次方
System.out.println(2<<3);
2转化为二进制是00010通过位运算向左移动3位是010000转化成十进制是16;

7.运算符优先级

()[] > 正负号 > 自加自减 > 乘除、取余 > 加减 > 移位运算 > 大小关系 > 相等关系== != > 按位& > 异或^ > 按位或 > 逻辑与 > 逻辑或 > 条件运算 > 赋值运算 > 位赋运算

面试题

  • 浮点精度丢失
    运算中二进制不能很好得识别小数,所以会精度丢失。解决方法,使用BigDecimal定义浮点数据,再通过BigDecimal上的运算方法计算,结果是String类型
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值