z开头的是什么火车_我是编程初学者,我是该学java呢,还是学c++

2020-08-23

我是编程初学者,我是该学java呢,还是学c++?


首先清楚,Java 是由 C++发展而来的留了 C++的大部分内容,其编程方似于 C++。但 Java 的句法晰、规模更小、更易学。Sun 公司对多种程序设计语言进行了深入研究,并摒弃了其他语言的不足之处,最终退出了 Java。正是这样,Java 从根本上解决了 C++的固有缺陷,形成了一种新的完全面向对象的语言。

Java 和 C/C++的相似之处多于不同之处,有 C 基础的读者,学习 Java 会更容易。相比较而言,Java 的编程环境更为简单。因篇幅所限,这里不能完全列出不同之处,仅列出一些比较显著的区别。

指针
Java 没有指针的概念,从而有效地防止了在 C/C++语言中,容易出现的指针操作失误(如指针悬空所造成的系统崩溃)。在 C/C++中,指针操作内存时,经常会出现错误。在Java 中没有指针,更有利于 Java 程序的安全。

多重继承
C++支持多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。所以 Java 不支持多重继承,但允许一个类实现多个接口。可见,Java 既实现了 C++多重继承的功能,又避免了 C++的许多缺陷。

数据类型
Java 是完全面向对象的语言,所有方法和数据都必须是类的一部分。除了基本数据类型之外,其余类型的数据都作为对象型数据。例如对象型数据包括字符串和数组。类将数据和方法结合起来,把它们封装在其中,这样每个对象都可实现具有自己特点的行为。而 C++将函数和变量定义为全局的,然后再来调用这些函数和变量,从而增加了程序的负担。此外,Java 还取消了 C/C++中的结构和联合,使编译程序更简洁。

自动内存管理
Java 程序中所有的对象都是用 new 操作符建立在堆栈上的,这个操作符类似于 C++的“new”操作符。Java 自动进行无用内存回收操作,不需要程序员进行删除。当 Java 中一个对象不再被用到时,无须使用内存回收器,只需要给它加上标签以示删除。无用内存的回收器在后台运行,利用空闲时间工作。而 C++中必须由程序释放内存资源,增加了程序设计者的负担。

操作符重载
Java 不支持操作符重载,操作符重载被认为是 C++的突出特征。在 Java 中虽然类可以实现这样的功能,但不支持操作符重载,这样是为了保持 Java 语言尽可能简单。

预处理功能
C/C++在编译过程中都有一个预编译阶段,即预处理器。预处理器为开发人员提供了方便,但增加了编译的复杂性。Java 允许预处理,但不支持预处理器功能,因为 Java 没有预处理器,所以为了实现预处理,它提供了引入语句(import),它与 C++预处理器的功能类似。

Java 不支持缺省函数参数,而 C++支持。
在 C 中,代码组织在函数中,函数可以访问程序的全局变量。C++增加了类,提供了类算法,该算法是与类相连的函数,C++类方法与 Java 类方法十分相似。由于 C++仍然支持 C,所以 C++程序中仍然可以使用 C 的函数,结果导致函数和方法混合使用,使得 C++程序比较混乱。

Java 没有函数,作为一个比 C++更纯的面向对象的语言。Java 强迫开发人员把所有例行程序包括在类中。事实上,用方法实现例行程序可激励开发人员更好地组织编码。

字符串
C 和 C++不支持字符串变量,在 C 和 C++程序中使用“Null”终止符代表字符串的结束,在 Java 中字符串是用类对象(String 和 StringBuffer)来实现的,在整个系统中建立字符串和访问字符串元素的方法是一致的。Java 字符串类是作为 Java 语言的一部分定义的,而不是作为外加的延伸部分。此外,Java 还可以对字符串用“+”进行连接操作。

goto 语句
“可怕”的 goto 语句是 C 和 C++的“遗物”。它是该语言技术上的合法部分,引用 goto语句造成了程序结构的混乱,不易理解。goto 语句一般用于无条件转移子程序和多结构分支技术。Java 不提供 goto 语句,其虽然指定 goto 作为关键字,但不支持它的使用,这使程序更简洁易读。

类型转换
在 C 和 C++中,有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在 C++中可将一个浮点值赋予整型变量,并去掉其尾数。Java 不支持 C++中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。初学者入门是c或c++,限于时间,选一。c是面向过程,c++是面象和过程,都能操作底层,但c更透c++更全面!但是现在公司最流行的语言就是Java,纯粹面向对象,上手相对容易,工作好找,当然,自从微软开发.net后,c#也开始和Java平分天下,其中语法什么的都差不多,建议二选一进行学习。
如果你想从事这方面工作,商用软件基本Java就够了,做底层驱动c等比较好,做大型项目如大型游戏等,c++是最好的选择。
综上所述,个人建议从Java开始往c学,这样容易点。如果想要快点有成果就java吧
那两个难一点,而且不容易有成果C++用的多还是先学C语言吧,然后学C++
JAVA编程是用什么软件的?

JAVA编程常用的软件:1Eclipse:Eclipse 个开放源代码的、基于 Java 的可扩展开发平就其本身而言,是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。2、MyEclipse:MyEclipse是Eclipse的升级版,也是一款功能强大的J2EE集成开发环境,由Genuitec公司发布,提供免费版和收费版。被誉为最好用的Java IDE之一。MyEclipse 是对Eclipse IDE的扩展,利用它可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。3、IntelliJ IDEA:IntelliJ IDEA是一款综合的Java 编程环境,被许多开发人员和行业专家誉为市场上最好用的IDE之一,与MyEclipse齐名。它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2EE,Ant,JUnit和CVS集成,非平行的编码检查和创新的GUI设计器。4、NetBeans:NetBeans IDE是一个屡获殊荣的集成开发环境,可以方便的在Windows、Mac、Linux和Solaris中运行。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序。5、BlueJ:BlueJ是一款支持Java编程语言的集成开发环境(IDE)。它原本是为了教育目的而开发的,同时也适合于那些想做小型软件开发的开发人员。它的运行需要JDK(Java开发工具包)的帮助。BlueJ主要是为面向对象的程序设计教学而开发的,因此它的设计不同于其他的开发环境。参考资料来源:百度百科-BlueJ参考资料来源:百度百科-IntelliJ IDEA参考资料来源:百度百科-Netbeans参考资料来源:百度百科-eclipse参考资料来源:百度百科-MyEclipse

如果你是个牛家伙,你可以用记事本写java,不过程序运行不时候科没有程序给错,你只能一个一个字的检索
推荐用ECLIPSE或者INTELJ IDEA 它们能帮你寻找你的语法错误。
但是
ECLIPSE的安装成功率接近0%我推荐NetBeans IDE 新手用它较好就是用NetBeans。

英语不好的话就用 NetBeans IDE 免费的 有中文版本 SUN公司支持的项目
最新的 NetBeans IDE 6.5.1
如果你英文比较强 那就用eclipse吧 他好像比较主流 是IBM公司花了2000万美元做的 也是免费的
还有用JCreator(对硬件要求比较小。。。)来自:求助得到的回答本回答被提问者采纳Java编程会使用编程软件,并且这个软件并美好明确其规定这种软件有很多,我用的是Eclipse
写一个Java编程

packageyourPackageName;

importjava.math.BigDecimal;

publicclassPeople{

//(1)成员变量:nameheight、weight分别表示姓名、身高(cm)和(kg)。
//姓名
privateStringname;
//身高(cm)
privateintheight;
//体重(kg)
privateintweight;

/**
*构造方法参数实现对成员变量的赋初值操作
*/
People(Stringname,intheight,intweight){
this.name=name;
this.height=height;
this.weight=weight;
}

/**
*该方法返回0、1、-1分别表示标准、过胖或过瘦)。判断方法是:用身高减去110作为参考体重,超过参考体重5kg以上的,为“过胖”;
*低于参考体重5kg以上的,为“过瘦”;在(参考体重-5kg)和(参考体重+5kg)之间的,为“标准”。
*/
intcheck(){
intstandard=this.height-110;
if(this.weight>standard+5){
return1;
}
if(this.weightreturn-1;
}
return0;
}

@Override
publicStringtoString(){
returnnewStringBuffer(this.name).append(",").append(this.height).append("cm,").append(this.weight).append("kg,").append(this.check()).toString();
}

/**
*(4)在main方法中,输入50个学生的信息(姓名、身高和体重),分别输出标准、过胖或过瘦的人数(必须通过调用check()方法实现)。
*
*@returnvoid
*/
publicstaticvoidmain(String[]args){
intaCount=0;
intbCount=0;
intcCount=0;
for(inti=0;i<50;i++){
//创建50个身材体重随机的People
Peopleman=newPeople("People"+i,newBigDecimal(Math.random()*50).intValue()+150,newBigDecimal(Math.random()*60).intValue()+40);
switch(man.check()){
case0:
aCount++;
break;
case1:
bCount++;
break;
case-1:
cCount++;
break;
}
}
System.out.println("标准身材:"+aCount+"个");
System.out.println("过胖:"+bCount+"个");
System.out.println("过瘦:"+cCount+"个");
}

}("第"+i+"编写……);
i:表示是第几个循环,+:表示字符串连接;
i++
i:本次循环;
+:表示在本次循环的基础上加1;、+用来连接第和编写的

i++ 操作后加1

比如b=I++;
i=1;b先等于1
然后i在加1;

++i ;比如
b=++i;int
i=1;
b=2
也就是先加1这个问单+i+取自
第"+i+"编…;
这句话

i是你的变量,就是你的数1,2,3.....
这只是把拼到
第1(取值1-100)次编写

i++
就是执行到这里再返回循环之前先加一,

原本i等于1返回去的i就等于2,有什么问题欢迎继续提问。。。。。。。。。。。。i++的是每执行一次输出操作i的值就增加1,i=101时跳出,这个地方没必要是i++还是++i;

System.out.println("第"+i+"编写……);//这句有错误
应该是"第"+i+"编写……"
中的+号表示连接字符串,输出第i编写……;(i的值是不断增加的,1,2,3。。。)

比如
String
s=“abc”+"
de";
新手学JAVA编程应该从哪里开始,用什么软件?


从开始下载安装开发环境开始
基本的软件:JDK
代码编辑工具:支持代码高亮的文本编辑器,如EditPlus、NotePad++等
集成开发环境:Eclipse、MyEclipse、IDEA等从java的语法开始
可以用eclipse开发本回答被网友采纳