java运算疑惑 整型和浮点型混合运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java运算疑惑 整型和浮点型混合运算相关的知识,希望对你有一定的参考价值。

int a=90;
float b=10.98f;
float c=a+b;
结果c=100.979996
int a=10
float b=90.98f
float c=a+b;
结果c=100.98

参考技术A 这是因为java的浮点运算并不是依靠简单的加减算法来计算的
java本身的浮点运算一直都是有这样的问题的
如果你要精确的小数计算的话,建议使用BigDecimal
这是目前比较好的解决方法本回答被提问者采纳
参考技术B 整型和浮点型相加会JVM会自动将整形转为浮点型

Python进阶07

数字类型内置方法

整型和浮点型内置方法

都无有序和无序一说,

存放一个值or多个值,

常用操作和内置方法 算术运算和比较运算

均为不可变数据类型

1.整型内置方法

  • 用途:年龄,号码,等级,女朋友个数

  • 定义:用int定义,将数的字符串转为整数

    age=18 #其实就是age=int(18)

2.浮点内置方法用途:薪资,体重,

  • 用途:薪资,身高,等

  • 定义:可以使用float()将数字字符串转为有小数点的数字

可变和/不可变对象

不可变对象就是,该对象所指的内存中的值不能被改变,但是当改变某个变量的时候,由于其所指的值不能被改变,这时就会把原来的值复制再改变,就会开辟一个新的地址,变量在指向这个新地址,原先所对应内存的值,因不再有对象指向它,就会被垃圾回收。(涉及到python的垃圾回收制,引用计数)==数值类型,字符串str,元组tuple都是不可变类型,==

可变对象,就是原地改变。==列表list,字典dict,集合set是可变类型。==

字符串类型内置方法(str)

用途:描述性质的东西,如人的名字,单个爱好,地址,等

\n 换行

\t 缩进四个空格

\r 回退上一个打印结果,覆盖上一个打印结果

r ’\n‘使其变成原生字符串

优先掌握

  1. 按索引取值(只可以取不可以改变)

    words=‘no limit‘

    print(words[4]) # 索引取值的时候都是变量名后面加

  2. 切片
    顾头不顾尾,步长
    words="今生为我送别"
    print(words[5:]) #步长默认为1,为正的时候从左到右
    print(words[5:8:-3]) #步长默认为1,为正的时候从右到左
    print(words[::-1])

  3. 长度len
    words="it‘s my life"
    print(len(words))

  4. 成员运算in|not in
    一句话中是否包含某个词,或者是不包含,比如说A在B中吗,A不在B中吗(会打印 true和false)

    words="it's my life"
    print('jh'in words)
  5. 移除空白strip() #用户手抖可能会输入空格 需要用到这个东西来删除空格。

    pwd='mynameisbaba'
    inp_pwd=input('请输入密码')
    if inp_pwd.strip()==pwd:
        print('密码正确')
  6. 切分(切割)split(以一个元素切割)
    words=‘啊1啊啊1啊啊啊1啊啊啊啊~‘
    print(words.split(‘1’))

  7. 循环

    s='要 要 切克闹'
    for i in s:
        print(i)

    需要掌握

    1. listrip (从左面移除)rstrip(从右边移除)

      s='@@@LWB NB@@@'
      print(s.lstrip('@'))
      print(s.rsrip('@'))
    2. lower&upper
      小写,大写,全部字母

    s='boDUOyejie'
    print=(s.lower())
    print=(s.upper())
    1. startswith&endwith
      判断是否以想要的字符串为开头,若为真则True否则false

      判断是否以想要的字符串为结尾,若为真则True否则为false

      s='刚交的好朋友'
      print(s.startswith('刚'))
      print(s.endswith('好朋友'))
      
    2. rsplit(从右切割)

      python='万能,人工智能,未来发展'
      print(python.rsplit(',',3))
      
    3. join(拼接)

      print('...'.join(['1','3','5','6','7','9','10']))  #用...把列表中的字符串拼接起来,join运用于字符串之中
      [1...3...5...6...7...9...10]
    4. replace(替换) # 将字符串中的某一个元素用其他的元素代替

      name_list=['金城武','吴彦祖','古天乐','yanzhibin']
      print(name_list.replace('yanzhibin'),('jh'))
    5. isdigit () 判断是否为数字

    其他操作

    1. find, rfind,index,rindex,count

      s2='@我被猪@了@'
      print(s2.find('@'))  #从左边开始找,找到第一个就停止,找不到就返回-1
      print(s2.rfind('猪')) #同上方向为右
      print(s2.index('猪'))  #找不到就报错
      print(s2.rindex('猪'))  #找不到就报错
      print(s)
    2. center,ljust,rjust,zfill,(只能填充一个字符)

      s='jh是世界上最帅的男人'
      print(s.center(50,'√')) #s居中
      print(s.ljust(50,'同意')) #s居左
      print(s.rjust(50,'废话')) #s居右
      print(s.zfill(50))  #默认填充0,s居右
    3. expandtabs

      # expandtabs
      s2 = 'a\ta'
      print(s2)
      print(s2.expandtabs(8))  # 针对\t而言
    4. captalize,swapcase,title

      # captalize|swapcase|title  只针对英文
      s2 = 'harry Potter'
      
      print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
      print(s2.swapcase())  # 大小写互换
      print(s2.title())  # 所有单词首字母大写
    5. is系列

      5.is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit()即可)

      • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。
      • isdigit(): 如果字符串只包含数字则返回True,否则返回False。
      • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。

以上是关于java运算疑惑 整型和浮点型混合运算的主要内容,如果未能解决你的问题,请参考以下文章

整型除以浮点型是啥型?

Python进阶07

C语言的浮点型怎么转换为整型?

整型和浮点型相减的问题

百度的科学计算器(简单)

java基本数据类型的细节和转换