Java基础day3(进制转换 字符串 String 数据类型 int float

一 基本数据类类型
boolean
byte
char
short
int long float
double

1 整数类型
包括三种:short int long
表示:数学意义上的整数。
三种类型支持的整数长度不同
short:支持的16未有符号
int:支持的32位有符号
long:支持的64位有符号

基础知识点:二进制、原码、反码、补码
二进制:及其只能识别高电位和低电位 1 0 n进制就是逢n进位
对于正数来说:二进制码就是原码、反码、补码
对于负数来说:二进制码是原码(对应的正数的符号位取1)
反码:原码的符号为不变,其余取反
补码:反码+1
在计算机中,所有的数据都是使用补码形式来进行存储
所有的计算也都是按照补码形式来进行

-1+3在计算机中如何计算?
步骤:1 先找操作数的补码 2 使用补码进行计算 3 计算的结果依然是补码 4 再将补码变回原码
假定使用四位机可以支持的计算:-7<x<8
-1的补码,原码1001–反码1110—补码1111
3的补码,原码0011------------------补码0011
0010—补码—原码2

写出计算机计算1+(-3)的过程
1,原码0001----------------补码0001
-3,原码1011–反码1100–补码1101
0001 + 1101 = 1110
补码:1110 反码1101 原码1010 (-2)

原码—补码:先取反码,反码+1
补码—原码:先-1,取这个码的反码
补码—原码:先取反码,反码+1
1:0001
-3:1011—反码1100–补码1101
1110
1001+1=1010

写出计算机计算(-3)+(-5)的过程
-3 原码10000011–反码11111100–补码11111101
-5 原码10000101–反码11111010–补码11111011
补码 11111101 + 11111011 = 11111000
补码反码 10000111
补码反码+1 10001000(-8)

二进制:100100 = 36
八进制:100105 = 315392
在这里插入图片描述
36二进制100100

0八进制前缀 0b二进制前缀 0x十六进制前缀

1.Java中的数据类型有哪些?
答:Java中的数据类型分为两大类:基本数据类型和引用类型。
基本类型(内置数据类型):byte short int long float double boolean char
引用类型:String StringBuffer等
基本类型的存储:变量名作为内存的名字,数据域中存储是真正的基本数据类型的值。
引用类型的存储:变量名作为内存名字,数据域中真正存储的是,对象在堆内存中的地址。

2.将十进制的17转换成2进制,8进制和16进制,使用手工计算,并使用数值的方法验证。
在这里插入图片描述
2进制:10001

验证:1*2^0+1*2^4=17

在这里插入图片描述
8进制:21

验证:1*8^0+2*8^1=17

在这里插入图片描述
16进制:11

验证:1*16^0+1*16^1=17

3.将二进制100110101转换成10进制,8进制和16进制,使用手工计算,并使用数值方法验证。
10进制:

1*2^0+1*2^2+1*2^4+1*2^5+1*2^8=309

2进制:100 110 101
101 = 5
110 = 6
100 = 4
8进制:465

验证:5*8^0+6*8^1+4*8^2=309

2进制:1 0011 0101
0101 = 5
0011 = 3
0001 = 1
16进制:135

验证:5*16^0+3*16^1+1*16^2=309

4.手工计算-27的二进制原码、反码、补码,进行跟1进行相加。
原码:1001 1011
反码:1110 0100
补码:1110 0101
1110 0101 + 0000 0001 = 1110 0110
补码:1110 0110
补码的反码:1001 1001
补码的反码+1:1001 1010(-26)

5.定义一个字符串s=" hello,world,"
(1) 去掉字符串两的空格
(2)截取hello
(3)去掉字符串最后的逗号
(4)将(3)结果中的逗号替换成-

package day3;

public class day3_homework1 {

	public static void main(String[] args) {
		String s = "    hello,world,";
		System.out.println(s.trim());
		System.out.println(s.substring(4,9));
		String s1 = s.substring(4,s.length()-1);
		System.out.println(s1);
		String s2 = s1.replace(",","-");
		System.out.println(s2);
	}
}

在这里插入图片描述

//Math.pow(2,3) 2的3次方
System.out.println(Math.pow(2,3));  //8.0

//Integer.toHexString(32837)  Hex(16进制数)求32837的16进制
System.out.println(Integer.toHexString(32837));  //8045

//Integer.toBinaryString(6)  Binary(2进制数) 求6的2进制
System.out.println(Integer.toBinaryString(6));  //110

//Integer.toOctalString(9)  Octal  (8进制数) 求9的8进制
System.out.println(Integer.toOctalString(9));  //11

//不要拿浮点数来比较
System.out.println(0.1+0.2==0.3);  //false

//把123转换成字符串
String s=123+"";
String s=String.valueOf(123);

//如果只有一个参数,则代表起始位置,截取的时候,会从起始位置一直截取到字符串结束位置。
System.out.println(str.substring(3));
//如果有两个参数,则一个代表起始位置,一个代表终止位置(不包含结束位置)
System.out.println(str.substring(1, 3));


//字符串连接
System.out.println(str.concat(" world"));

//转换大小写
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
sc.next().toLowerCase().equals("exit");

//charAt(索引)返回指定索引位置的字符,索引是从0开始,从左到右。
System.out.println(s7.charAt(0));

//判断字符串头尾字符是否相同
System.out.println(s7.charAt(0)==s7.charAt(s7.length()-1));

//indexOf(子串或者是某个单个字符)返回子串或者某个字符串在原字符串中首次出现的 位置 lastIndexOf(子串或者某个单个字符)在java中,-1代表没有找到
String s8="hello";
System.out.println(s8.indexOf("l"));
System.out.println(s8.lastIndexOf("l"));
System.out.println(s8.indexOf("he"));

//		9.字符串替换(易错的方法)
//		replace(old子串,new子串)-----返回值是替换之后的字符串
//		会新创建字符串,存储替换之后的字符
//		原字符串没有被修改
		String s9="hello";
		s9.replace("e", "z");
//		s9.replace("e", "z");
		System.out.println(s9.replace("e", "z"));
		s9=s9.replace("e", "z");
		System.out.println(s9);

//		10.trim去掉两端的空格
//		新创建字符串存储的结果。不是在原来的字符串上进行修改。
		String s10=" 篮球、排球、足球   ";
		System.out.println(s10.trim());
		System.out.println(s10);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值