1.一个Java类文件中真的只能有一个公有类吗?

程序实验:

public class test1 {
public static void main( String args[] ){
}
public class Innerclass{

}
}

程序运行系统并没有报错,说明一个类文件中不止可以有一个公有类。每个编译单元(文件)只能有一个public 类。每个编译单元只能有一个公开的接口,而这个接口就由其public 类来表示。如果能有多个public类,程序就无法识别该从哪里导入程序了。上面这个程序 出现了主类 和一般公共类,第二个类为一般公共类。主要是分清公共类和主类,主类及主函数。ava类文件中并非只能有一个公有类,可以有多个内部类,它可以是共有的。

2.main方法的返回值有void改为int程序能编译通过吗?能运行吗?

编译出错

加了return 0后编译没错

运行时出现错误

3.为什么java规定作为程序入口点的main()方法是静态的?

main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 test t=new test(); 然后才能调用 test.main(); 而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。

4.全局变量与局部变量的问题

5.小知识截图

6.类型转换问题

.

int  short long byte 表示整数,其值是精确的,而float double均为浮点型,表示近似值,所以当整型转换成浮点类型的近似值会有精度损失。而ASCLL都是整数,所以char转换成整型不会有精度损失

7.精度问题

java中十进制与二进制转化时存在问题,double类型的数值占   用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低   位上一定会与实际数据存在误差,简单来说就是我们给出的数值,在   大多数情况下需要比64bit更多的位数才能准确表示出来(甚至是需   要无穷多位),而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。

在使用BigDecimal(double)构造器时,使用不恰当会出现精确的误差,二进制浮点数的局限性产生类似上述的问题

8.

当"X+Y="在前时,默认的把int型X,Y转化为String型,"X+Y="使编译器认为X,Y是String型的了,System.out.println()本身的参数默认为String型,遇到这种情况默认了转化,产生了如此结果,而第二个就是简单的输出,没有让计算器产生“误解”。

java语言基础1问题汇总的更多相关文章

  1. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  7. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  8. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  9. Java语言基础(七)

    Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的  例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...

随机推荐

  1. Linux Shell脚本编程while语句案例

    1,每隔3秒,打印一次系统负载 #!/bin/bash while true do uptime done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化 ghostwu@de ...

  2. 初学CSS-1-CSS的格式

    style标签:必须写在head标签中. <head> <style type="text/css"> 标签名称{ 属性名称:属性对应的值: } </ ...

  3. 多语言网站利器 rel="alternate" hreflang="x"

    下面是我在浏览网站时无意看到的,然后就搜了一下,感觉内容不错但我还没有测试,就转载过来做个备注,有时间了在翻过来看看 rel="alternate" hreflang=" ...

  4. 畅通工程续(HDU 1874)附上超详细源代码

    Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行 ...

  5. 2018-02-17 中文代码示例[译]Scala中创建隐式函数

    前言: 学习Scala时, 顺便翻译一下自己有兴趣的文章. 代码中所有命名都中文化了(不是翻译). 比如原文用的是甜甜圈的例子. 原文: Scala Tutorial - Learn How To C ...

  6. Android SDK Manager无法更新的解决方案

    Android SDK Manager -> Tools -> Options HTTP Proxy Server:mirrors.neusoft.edu.cn HTTP Proxy Po ...

  7. 使用Visual Studio Team Services进行压力和性能测试(二)——压力测试执行

    使用Visual Studio Team Services进行压力和性能测试(二)--压力测试执行 1.点击Run test将会该压力测试进行排队,我们将看到等待测试代理屏幕.Visual Studi ...

  8. Python中DataFrame关联

    df = pd.merge( df, # 左 wzplbm, # 右 left_on = ['WZBM','ZBWZMC'], # 左DataFrame匹配列 right_on = ['WZPLBM' ...

  9. python3 邮件发送

    这是搜罗网络上的文章总结的一份文档, 参考: https://www.jb51.net/article/140604.htm https://www.jb51.net/article/140604.h ...

  10. 使用Anemometer基于pt-query-digest将MySQL慢查询可视化

    最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...