怎么用言语打击一个28岁才开始学java socket编程编程的人?

本人是大一新生,毫无编程基础,现在想学习JAVA语言编程,但是听别人说又要C语言作为基础。_百度知道
本人是大一新生,毫无编程基础,现在想学习JAVA语言编程,但是听别人说又要C语言作为基础。
请高人解答,顺便说说学好JAVA大概的学习步骤。本人大一,空余的时间较多
提问者采纳
但是对内存与指针不会很了解学java也可以不用学C,看完这个然后看看《java编程思想》,进阶篇)机械工业出版社。这两本书很不错。建议你学习《java语言程序设计》(基础篇。多做一些实际项目就可以了,慢慢就会熟悉的
就是我们课程安排大二有C语言的学习。你的意思是一开始就可以学习JAVA的基础了么?还有软件的话我打算是JDK开始,接着是eclipse。看看有没有问题吧
嗯,一开始学JAVA没问题的,java比C要简单一些的。JDK是java开发包,eclipse是编辑器环境(IDE),你自学没问题的!
提问者评价
谢谢你帮我大忙了
来自团队:
其他类似问题
为您推荐:
其他4条回答
而且接近底层,这是编程的核心之一,对计算机基本知识的掌握要更好一些,你的编程就已经入门了,C语言基本语法掌握之后就可以多学习学习数据结构,等你把数据结构掌握了建议从C语言开始,C语言是很好的入门语言
JAVA和C其实都可以作为编程的基础语言,先从基础的语法学起,多动手编程书籍可以从head first java开始,这个系列的书都不错还有java核心技术,熟练了之后可以阅读java编程思想等
来科大讯飞培训一下,效果比自己看书好太多了。
你什么专业的呢?
光学仪器设计,虽然有点不对口,不过有兴趣在
java语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置:
C++与Java混合编程
C++与Java混合编程
发布日期: 14:31
浏览次数:22006次
标  签:C++,Javascript
文章评分:5.0
操  作:
称号:未设置简介:...
文章概要:
现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,现实的情况是,真实的项目中,通常是涉及多种编程语言,举几个简单的例子,一个软件为了快速开发,可能是使用Delphi或VB作为界面开发首选语言,底层的指令或核心算法,会使用C/C++处理,涉及数据处理的时候,为了安全和快速开发,会使用Javascript或Python等脚本语言实现数据分析处理。因此,开发者应该学习或掌握语言混合编程。 C++和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这两种语言的朋友造成很大的困扰。本人的这篇拙作,希望对使用这两种语言混合编程学习的朋友可以抛砖引玉。
&现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,现实的情况是,真实的项目中,通常是涉及多种编程语言,举几个简单的例子,一个软件为了快速开发,可能是使用Delphi或VB作为界面开发首选语言,底层的指令或核心算法,会使用C/C++处理,涉及数据处理的时候,为了安全和快速开发,会使用Javascript或Python等脚本语言实现数据分析处理。因此,开发者应该学习或掌握语言混合编程。 C++和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这两种语言的朋友造成很大的困扰。本人的这篇拙作,希望对使用这两种语言混合编程学习的朋友可以抛砖引玉。
实现Java和C++的交互,使用的技术是称为JNI( Java Native Interface ),C++编写的程序,只要实现JNI生成的接口,则可以让Java程序调用,而Java编写的程序,C++调用,则需要运行Java虚拟机,通过JNI查询调用Java实现的方法。
环境变量设置
本文中使用的Java的版本是( build 1.6.0_03-b05 ),C++的版本为VC++ 6.0版本。并根据你本机上的Java和C++安装目录设置以下的环境变量
注意不要缺少Java的include和lib这三个红线标出部分(为源码包文件中的cpp-env.Bat这个批处理文件)。
设置Java的环境变量,如下图所示
注意红线标注的这处部分,这部分与C++调用Java的方法时候影响非常重要(为源码包文件中的java-env.Bat这个批处理文件)。 在command模式运行这两个批处理文件后,就可以在command模式运行demo程序了。
Java调用C++的方法
源码文件中 %SRC%/Java-cpp目录中的WinFile.java的这个文件(Java语法规定类名与文件名必须一致),定义了一个WinFile类,这个类的内容如下
在代码的第18行,声明一个带native属性的方法GetFilesFromDir,这个方法传入一个字符类参数,并返回一个字符类参数,而System.loadLibrary则会加载指定的共享链接库,参数所示加载的动态库为libwinfile.dll,在windows平台上,执行时会自动加入后缀.dll。 在command模式运行以下命令:
第一条命令则会生成WinFile.class的编译文件,而第二条命令则会生成WinFile.h这个头文件,这个头文件包含了WinFile.java中的native的方法的C/C++语言的定义。
在C/C++的语言定中,Java语言的String的定义为jstring,注意,Java的语言的字符与程序的编码都是以UTF-8编码实现的,所以Java中的中文字符在C++的方法中如果没有编码转换,则会显示为乱码。同理,在C++的方法中将中文字符返回给Java,如果没有将字符编码转为UTF-8,在Java的方法显示同样会是乱码。
以上为%SRC%/Java-cpp/WinFile.cpp的部分代码,代码中实现了两个函数,一个是将UTF-8转为GB2312,另一个为将GB2312转为UTF-8,而jni.h这个头文件中也同时提供了jstring与char*的类型之间转换函数。
GetStringUTFChars NewStringUTF
运行如下编译命令:
cl -GX -LD WinFile.cpp -FelibWinFile.dll
则生成libWinFile.dll这个动态库(注意,生成的名称要与System.loadLibrary这个函数内的参数的名称一致),运行这个Java的类。
则输出如下
C++调用Java类方法
这里演示String作为参数的调用返回的方法,其它的类型的方法调用也类似。
创建一个静态声明的Java方法
这个方法将会接受一个C++的传入的字符参数,并返回Java的字符类,让C++函数输出内容。代码位于%SRC%/cpp-java/WinFile.java
编译该文件后生成是一个java字节码的文件,它必须要运在JVM上,C++要执这些Java字节码,必须要运行JVM,运行JVM的代码位于文件%SRC%/cpp-java/WinFile.cpp中,如下图所示
通过JNI_CreateJavaJVM这个函数,C++则会运行JVM,注意,生成的WinFile.exe这个文件提示需要jvm.dll,但是千万不要将jvm.dll从jre这个目录拷贝到WinFile.exe这个目录,因为jvm能够正常运行,必须依赖jre的java库和其它的动态库,虽然从dependency看不出jvm.dll依赖jre中的其它库和文件。如果把jvm.dll抽离出来与WinFile.exe位于同一目录,虽然能够运行,但JNI_CreateJavaJVM调用永远失败的。解决方法,就是将jvm.dll这个动态库加入的搜索路径中,如上面的批处理文件所示。
成功建立Java虚拟机后,就需要动态获得类名,并通过类名和函数签名获得Java的方法,获得函数签名的方法是运行如下命令。
Java -s -p WinFile
则输出了我们在Java文件中定义的函数的签名,
剩下的事情就是要负责将字符的参数进行编码调用,如下图标注出值得注意的地方
参数的转换过程是为char*转为UTF8编码再转变成为jstring伟入java方法,java方法的返回值也应该是先转成jstring类型,再转为char*类型再转为GB2312。运行程序,输出结果如下
混合语言编程要注意的是编码传输,语言运行环境的因素。例如要在C++中构造Java的运行环境。混合语言编程有困难,但也很有趣,两种语言的优点都可以得到,不是很好的事情吗?
感觉很高深哦
11:48 发表
学习了。(www.loveprogram.net)
19:39 发表
最多还可以输入100字
【VIP年会员制套餐】
【C/C++软件工程师实战能力集训大纲】
VC知识库发布了C/C++业界的“本草纲目”
【牛人都在千人一号群! 加群三步走!!!】
第一步:请必须加VC知识库QQ: 为好友;
第二步:请必须关注本站微博:
第三步:申请加入群:.(必须将关注微博截屏发到QQ方可通过!)
【最新2013:】
全部100% VC++源码提供: E-Form++全新大型SCADA & HMI解决方案源码、CAD解决方案源码、Gis解决方案源码 、电力石油化工仿真与图形建模解决方案源码、大量其他高级制图VC++源码下载!
【 新视频发布】
o o o o o o o o o o
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。...
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。...
本文介绍了套接字编程的基本知识。...推荐文章 TOP10> 我想这JAVA我想学JAVA。但是我没有任何编程语言基础。可以学吗?
我想这JAVA我想学JAVA。但是我没有任何编程语言基础。可以学吗?
发布时间: & &
浏览:122 & &
回复:20 & &
悬赏:0.0希赛币
我想这JAVA我想学JAVA。 & 但是我没有任何编程语言基础。可以学吗?
可以。没有人能阻止你,哈哈。
lx3828389 & &
& & (0)(0)只要你想学,有谁能阻止你
lx35030 & &
& & (0)(0)能够阻止你的只有你自己!
加油,你一定行!
lx35030 & &
& & (0)(0)首先你要专一
不过在学java时又学c++
其次你要有恒心
lx4502528 & &
& & (0)(0)个人认为程序语言之间是相通的,我学过C,JAVASCRIPT,JAVA,C#.
感觉它们从语法角度上来讲区别不大.而且当我掌握了JAVA的基本语法后,C#也很快掌握了.
因为它们实在太相似了.因此,我觉得学编程不要考虑只学哪一门,因为你学了这一门之后,不可避免地会接触其他语言.
楼主你既然没有任何基础,建议你先从C或者C++开始学起.当你把C或者C++的基本语法掌握后,
JAVA的语法你就等于是基本掌握了.JAVA是模仿C++的.要问我为什么建议你从C或者C++?那我告诉你,首先JAVA是属于面向对象语言,你学它重点不是掌握它的语法,而是面向对象思想.这种思想对于一个出学者来说,理解起来有一定难度.所以建议你从面向过程的语言开始学起.然后学JAVA的时候看一下C++,这样可以帮助你理解面向对象思想.我想,这样可以学JAVA效果会更好.
lx4247206 & &
& & (0)(0)学程序设计学好一门就可以了,重要的是思想,很多东西都是触类旁通的。
& & (0)(0)& & 楼主你既然没有任何基础,建议你先从C或者C++开始学起
那他可能就再也没有机会学Java了。
& & 这种思想对于一个出学者来说,理解起来有一定难度
觉得面向对象有难度的好像基本都是从C入门的人。
呵呵,我没有恶意,只是和楼上朋友的意见不大一致而已。
lx42684 & &
& & (0)(0)俺最初一直做C++,28岁以后才学的java,还是学的快.其实,语言只是一个工具罢了
lx42684 & &
& & (0)(0)我的意见也和 qiuchen1984(泰兰·弗丁)这位朋友不是很一致,这位朋友说的很对, &掌握了C或者C++的语法,Java的语法基本就掌握了 &,但关键是对初学者来说C++太难了点,不适合做为入门语言。
所以建议楼主直接学Java,如果你能学懂C++,自然能很快学会Java,但即然如此为什么不先学Java呢?先学容易的再学难的,符合学习的进程
& & (0)(0)直接学习java,有乐趣
topruler & &
& & (0)(0)我是一点变成语言都没有的人,上来就学面向对象了,就是java了,一直在学,感觉还可以,就是要补充一些基础知识,最开始变量和参数都没有搞明白,嘿嘿,放心兄弟只要你想学没有什么办不成的事情,不过最好补一下数据结构,离散数学,还有数据库要熟悉一下!
topsec & &
& & (0)(0)本人建议学JAVA前先学习C,因为那是学好其他语言的基础。那样有利于学习JAVA。C++就不要学了,虽然和JAVA是同一个思想,但是和JAVA很多地方有冲突,特别是在继承那里。不利于你以后在学习中对JAVA的理解
rousseaus & &
& & (0)(0)支持
router & &
& & (0)(0)学java如果没有c语言基础 那函数就要多练
没看过也没听过哪本java书函数写的特别详细
routerandswitch & &
& & (0)(0)可以,只要你能吃苦就行了
route13 & &
& & (0)(0)要是刚刚起步 还是看一些基础的,再看java吧. 会理解的快些.
不建议直接学.
routerandswitch & &
& & (0)(0)别管别人怎么说,学就是了..不懂来问..
routerpan & &
& & (0)(0)不管学什么,关键在于练,如果练得不够多不够深,那学什么都白扯
roushi007 & &
& & (0)(0)不错
router & &
& & (0)(0)穿别人的鞋,走自己的路,让别人找去吧,呵呵..
楼主认准了,就去做吧,只要努力,什么时候都不晚,也许不一定成功,但是至少努力过..
加油..rousion & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 28岁学编程 的文章

 

随机推荐