大家好,今天小编关注到一个比较有意思的话题,就是关于java语言bug的问题,于是小编就整理了5个相关介绍j***a语言bug的解答,让我们一起看看吧。

  1. 为什么写的Hello.java在命令行里错误?
  2. java中空指针的概念仅仅是帮程序员早些发现了bug吗?
  3. 为什么有些人在网络上都喜欢黑JAVA呢?
  4. 开发java程序时为什么代码没错却运行不了?
  5. JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?

为什么写的Hello.j***a在命令行里错误?

因为你的语句就错了

java语言bug-JAVA语言不区分大小写
(图片来源网络,侵删)

先写主方法,

public static void main(String[] args){

java语言bug-JAVA语言不区分大小写
(图片来源网络,侵删)

/*这是注释不会输出 下面就是输出语句*/

System.out.println("Hello World!");

java语言bug-JAVA语言不区分大小写
(图片来源网络,侵删)

}

上面的是主方法加上输出语句,/**/这个符号是注释,注释里面的内容是不会输出的,打代码要看仔细,勤练习,一点的马虎就会出现BUG,找BUG很麻烦,所以尽量多仔细,让后期的找BUG的麻烦少一点,下面附上代码的截图

j***a中空指针的概念仅仅是帮程序员早些发现了bug吗?

谢邀~

楼主说的让程序员早点发现bug只是这个理念设计的一种解决方法,但不是最终的目的

个人觉得这样设计的原因有几个:

1.减少无用的代码量。有了空指针,后面的代码都行不通了,增加了很多没用的代码量。而且这样在底层逻辑是不通的。

2.空指针null是找不到执行的变量的地址的。j***a的类有点像c语言的动态变量。变量名占用四个字节,这四个字节保存着实际引用的头地址。变量名只是声明引用的地址是什么类型的变量,因为类型不一样,字节长度也不一样。不管是取值还是调用方法都是从变量名引用的地址调用。如果现在你变量名里没有引用,那你去执行哪块内存的方法呢?

3.不从代码角度讲,逻辑上来讲 。比如 ,你用null来做事情,往下走你的逻辑,很长一段的逻辑 有什么意义么? 没有任何意义,从开始我就知道 ,你的所有的逻辑最后返回的就是null 那你写那些干嘛?

或者换个角度来讲 ,null+逻辑代码=null 。所以你的逻辑代码从某些方面来讲也是null。

为什么有些人在网络上都喜欢黑J***A呢?

因为J***a是近20多年最流行的编程语言,用的人多了,编程水平就参差不齐。

  1. 黑J***a的方向很多历史遗留问题:语法不够现代,相比于Kotlin写起来有点啰嗦,语法糖少,函数式编程语法比较丑,不过从J***a10开始已经开始浪起来了。

J***A,的确很令人反感。因为J***A太复杂,太陈旧,太冗余,太啰嗦。

那么什么样的人喜欢J***A呢?可以用来装B的人。正是因为J***A的冗余与复杂,才可以体现自己技术的高明。

但作为甲方来说,我听到乙方要用J***A,或者HTML,来做我的项目,我就火冒三丈。

一个很小的项目,就能罗里吧嗦的写上好几个月。如果用DELPHI,两周就可以搞定了

当然DELPHI也因为自身问题,没有得到发展。令人扼腕惋惜。

比如,早年我们做第一代医疗系统,三个月就干出来了。

现在这群做J***A的,两年都干不出同样功能来。

但现在程序员,都是J***A,而且生态也不一样了。我也没有其他选择。

只能眼睁睁看着,一个非常简单的任务,让这帮鬼畜们唧唧歪歪,整很久都整不出来。

吃起牛来,什么微服务,什么这架构,那架构。

结果都是用造航母的架构,来造一个湖面观光浏览船,还特么造不出来。你说气人不气人。

这都是码农的臭毛病,不从解决问题出来,就从怎么把事情搞复杂出发。

比如我十年前原先买了个500块的HP打印机。就特么安装个驱动,都把我整疯了。

当时又没联网,在Win XP上,又要安装.NET框架,又要安装这架构,那架构的。

把电脑整的死去活来。这不是码农的臭毛病是什么

现在这群J***A码农,就是这样。很简单的问题,搞的超级复杂。

程序界的"黑",一是自黑,二是鄙视链式的黑。

简单来说,程序员自嘲和自黑都是业界常有的事情。

鄙视链就像玩data的看不起玩lol的,玩lol看不起玩王者荣耀的。。

每一种语言都有自己的拥护者和唱衰者,很正常。J***a发展20多年,肯定有自己的对立面,被黑是正常的。

1. 对J***a技术一知半解.

2. 鄙视链.

总有数量可观的一部分人,他们会不自觉抱团、站队,然后理所当然得鄙夷、贬低另一个群体。然而,被鄙视的那个群体,却又有着另一群鄙视的对象,这就是鄙视链。

开发语言的鄙视链如下:lisp的瞧不起python,用python的瞧不起perl和c,c瞧不起c++,c++瞧不起j***a和c#,j***a和c#瞧不起js和php,js和php瞧不起html和css。

这种怪现象几乎渗透每个领域,何况是IT开发领域呢。

3. 人怕出名猪怕壮.

Stack Overflow 2018年开发者调查结果显示,最受欢迎的技术中,J***a以45.4%的数据排名第5(次于J***aScript, HTML, CSS, SQL),你都这么受欢迎了,被人黑一下开心开心也是应该的嘛。

4. 以己之长比及之短.

拿一种开发语言的长处和J***a的短处相比,片面的比较某方面。C语言开发一些底层的东西确实高效,就因此J***a就一无是处了?这种片面的黑J***a也是没什么意义的。

5. J***a自身不足.

谢谢邀请。

这是好事,一个东西有人黑说明有一定的影响力,就好比一个跑龙套的很少人黑,但是一个当红的明星被黑的概率是大大提升。

J***a发展至今已经二十多年,我印象最深刻的2009年,当时Oracle收购了sun公司,网上一片哀鸿遍野,大家都说J***a快完蛋,但事实呢,J***a到现在依旧坚挺。当然作为一个技术人员,不要让自己的语言局限在一个上,这是题外话。

说回J***a,判断一个技术是否发展得好,主要看几个方面

1,是否有好的社区

2,是否有工业标准

3,是否有大公司支撑

你会发现J***a三者都具备了

开发j***a程序时为什么代码没错却运行不了?

由于你没有给代码的截图,所以我无法直接为你分析问题所在。但是既然这个回答是没有其它人的,我就简单的帮你分析一下。

一:环境问题

jdk没有配置好啊,所需要的jar文件没有引入,运行配套环境没有启动,IDE的设置问题,或者系统存在一些未知的功能性问题,都有可能导致此类情况。你所说的代码没错,不知道是代码没有错,还是运行没有报错。如果是代码没有错的话,优先考虑这个原因。

二:代码问题

如果运行过程没有报错,却又运行不起来,你考虑是否为代码中存在逻辑错误,因为除了明显的语法错误之外,很多的bug其实是不会报错的,只是最终无法呈现相应的功能。

好像也就这些了,希望可以帮到你。

因为你给出的信息有点少,我大概按程序排查bug的一般思路解答一下。

程序错误一般分为两种:编译时错误 和 运行时错误。

如果你现在使用的是idea或eclipse,代码中有编译时错误的话,一般在代码下方会用红色波浪线标记,这时你点运行也是启动不了的,需要将这些bug解决掉后代码才能跑起来,这种编译时错误相对来说好解决,因为ide会自动帮你标记出来。

另一种错误是运行时错误,这类错误一般是逻辑性错误,即代码的语法都符合要求,程序也能跑起来,但在运行的过程中有出错或得不到正确的结果,这类错误排查相对来错比较难,可以在代码上打上断点,在debug模式运行代码,逐行运行代码,观察变量的中间值,逐步跟踪代码直到发现问题。

最后说一下,调试代码是程序员的基本功,也是提高最快的一个环节,没解决一个bug,技能都会向上跨一个台阶。

这个代码没错你能保证吗?

记得10几年前,刚入职,struts1中配置文件中把小写的l写成1了,以为代码没错但就是运行不了。后台报错也很怪,但是根据后台错误知道配置文件的问题,没办法最后我的经理来调试也没找出来,最后一行一行的删,排除法才找出来。

所以不要轻易觉得代码没错,往往就是代码问题。除非你的代码在别人那跑可以,那就是环境问题了。

J***A、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?

从事编程十几年,J***A、C、C++、Python这四种编程语言都玩过,前三种玩的比较多,python做为兴趣爱好或者玩脚本的时候弄过,编程语言在使用的时候主要还是适合不合适,单片机使用的场景属于功能简单,成本相对较低,现在也有高配版的单片机,本来单片机是不带系统的,非要硬扯到带系统的,从成本上考量就不是那回事了,成本主要包括两个方面有硬件成本,还有研发难度的成本这都是需要考虑的事情。

单片机开发语言C语言和汇编,别的语言还真不好上手,编程语言能力强大与否关键无外乎是不是能够控制底层的硬件,往往是一些门外汉喜欢编排一些故事,搞成什么编程语言的鄙视链条,真正的程序员底层的编程语言会羡慕上层编程语言的灵活性,上层的编程语言羡慕底层的编程人员能够控制硬件觉得是一件很神奇的事情,曾经面试过一个做了很多年j***a的工程师,居然想着拿出两年的时间来学习C语言,最后真还是降低工资标准进来了公司。

单片机编程主要是操作硬件的寄存器多一点,在编程语言方面使用的指针多一些,基本上while搭配中断把编程工作就差不多搞定了,如果硬要上j***a,python主要运行环境受不了,在运行j***a之前首先要把虚拟机给移植上,就单片机那点内存压根不是个,所以不同的编程环境不同的搭配,没有必要强求,无论是C/C++编程还是高级语言j***a,python在使用过程中编程套路都接近。

如果真要想在单片机上运行虚拟机还不如直接找个有操作系统的嵌入式设备,单片机完成的就是简单能够容易实现的功能,太多功能模块化的功能就不适合在这上面,解释性的语言执行需要一个运行环境不像单片机那么单纯,直接把全套的环境都运行在一个程序里面,单片机编程的时候有时候发现明明只有几行代码编译出来却有几百k,主要所有的驱动以及底层的实现都统统打包在一个可执行文件里面,嵌入式的运行环境相对来讲就比较复杂了,首先要把操作系统给安装到位,还有各种驱动提前准备好。

越是高级语言的编程越是框架性强,可移植性强,单片机编程适合简单功能的产品,比如常见的MP3,扫地机,以及玩具功能来回就是几个功能,没有特别复杂的功能,如果后续功能非常多而且界面操作非常繁琐就可以考虑使用嵌入式编程或者更加高级一点的编程语言了,永远都是适当的场景适用适当的编程语言,无所谓对错。

希望能帮到你。

到此,以上就是小编对于j***a语言bug的问题就介绍到这了,希望介绍关于j***a语言bug的5点解答对大家有用。