Java学习——基础语法

本文探讨了Java中的数据类型、自动与强制类型转换,包括溢出问题和变量的类变量、实例变量与局部变量的特性。还详细阐述了String与char之间的转换方法以及数字越界问题的处理。此外,提到了内存表示和二进制数据类型的正负数判断。
摘要由CSDN通过智能技术生成

Java学习——基础语法

数据类型

- 自动类型转化
转化从低级到高级
byte->short->char->int->long->float->double

- 强制类型转化
容量大的类型转化为容量下的类型必须使用强制类型转化。
类型转化可能会导致溢出或损失精度
在这里插入图片描述
溢出问题的讨论,参考java问题集合

变量类型

在这里插入图片描述

  • 类变量(静态变量)
    在类中以static关键字声明,必须在方法外
    第一次被访问时创建,程序结束时注销
    通过ClassName.VariableName的方式访问。

  • 实例变量
    声明在类中,方法外声明
    对象实例化时,实例变量确定
    实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName(实例对象名称.变量名)。

  • 局部变量
    方法中声明
    无默认值,初始化后使用

修饰符

访问修饰符
private,public,protected,default

protected可见性
protected权限用于类的继承。
基类的 protected 成员是包内可见的,并且对子类可见;
若子类与基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的protected方法,而不能访问基类实例的protected方法。

基础语法问题

本文用于记录刷题过程中,遇到的java技术问题

一、String 与 char 相互转化

String 转Char
1、使用String类 char charAt(int index)方法,用于获取index位置的char字符。
2、使用String类 char[] toCharArray()方法,将字符串转化为新的字符数组。
char转String
1、String s=String.valueof(char[] cs={‘a’,‘b’,‘c’,‘s’})
使用String类的 static String valueOf(primitive data type x)

注:
在leetcode翻转字符串问题中原地解法(比如 Java,JavaScript)中不适用,因为在这些语言中 String 类型是一个不可变的类型。无法直接替换单个字符。

二、数字越界问题

1.强制转化如何进行

数据类型长度内存表示
int1字节00000000
boolean1字节00000000
char2字节00000000 00000000
short2字节00000000 00000000
int4字节00000000 00000000 00000000 00000000
float4字节
long8字节
double8字节
**强制转化:**由数据类型 大转小 ,去掉左边部分,只保留转化后的剩余位数。
int 126 =>byte 126 00000000 01111110 =>01111110
数据没越界,数值正确
int 128 =>byte -128
00000000 10000000 =>10000000
由于10000000 是负数,所以10000000是补码
10000000=>01111111 (取反)
011111111=>1000000 (加一)
是-128
注:
  • 在计算机中凡是二进制数据类型,第一个数为1的是负数,第一个数为 0的正数,负数在内存中通过补码的形式存储.
  • 负数的存储过程
    1、先求出负数,绝对值的二进制数作为原码
    2、原码取反,得到反码
    3、反码+1的到补码,存入内存。
    例:-7 00000111=>11111000=>11111001

2.实验结果

在这里插入图片描述

3.越界问题解决

用数组存储数据,根据运算法则,进行编码。java实现超长数4则运算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值