僕は今までJavaを勉強していたのですが、
つい最近になって、C言語に手をつけ始めました。
Javaを知っていればC言語は結構とっつきやすいのではないかと思って始めたのですが、Javaに慣れすぎたせいか、C言語の文法がどうもしっくりきません。
特に関数あたりが・・・・。

C言語の関数って、Javaでいうところのメソッドですよね?
僕はそのように解釈しているのですが、あまり自信がないので、ご存知の方がいましたらどなたか教えてください。

あと、Javaを学習した人のためのC言語の本、もしくはC言語を学んだ人のためのJavaの本がありましたら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。


CからJavaという人がほとんど(私もそう)だと思うのですが、逆もいらっしゃる
のですね。今はJavaが前面に出てきてしまっているからそうなのかな?
Javaは最初に覚える言語としてもよい言語ですしね。

文法自体はほとんど同じですよね。
おっしゃる通りC言語の関数はJavaのメソッドにあたります。
クラスという考え方はありませんが、別ファイルであっても1つのクラス中に
メソッドをたくさん羅列して記述するようなイメージだと思います。
だから同じ名前の関数はあってはいけません。
あと、C言語の肝は何と言ってもポインタでしょう。諸刃の剣となるおそれも
ありますが、C言語ではなくてはならない非常に大事なポイントです。

本は「JavaプログラマーのためのC言語入門」があります。
下記のURLです。このHPでも結構解説していますよ。
頑張ってください。

参考URL:http://www.javaopen.org/jfriends/cforjava

この回答への補足

そうですね。ポインタがやまですよね。
ついさっき、こないだ買ってきた本でポインタの所を読んでいたんですけれども、読み進めていくうちに段々いらいらしてきて、結局こうしてネットに逃げてきてしまいました。(笑)
MMPichuさん、
分かりやすいご説明、そして今の僕がとても必要としている本、サイトを御紹介していただき本当にありがとうございました。

補足日時:2001/03/24 22:22
    • good
    • 0

>C言語の関数って、Javaでいうところのメソッドですよね?


>僕はそのように解釈しているのですが、あまり自信がないので、ご存知の方がいましたらどなたか教えてください。

この考え方でOKです。
この場合、Javaのクラスにあたるものが、C言語で作成されたプログラム全体でひとつのクラスと考えればよいでしょう。
C言語のプログラムには、main関数、他の関数、グローバル変数などがありますが、
Javaのプログラムでは、mainメソッド、他のメソッド、フィールドに対応しているものと考えてみましょう。

>Javaを学習した人のためのC言語の本、もしくはC言語を学んだ人のためのJavaの本がありましたら教えてください。
ゴメンナサイ。こちらについては、わからないので他の回答者に任せます。

この回答への補足

うおっ、わかりやすい!!
やはり、関数=メソッドと解釈してよかったんですね。

ん?そういえば、少し前にSwingに関するコンストラクタについて質問をしたことがありましたが、その時も確かxinmanさんが分かりやすく答えてくれたような気が・・・。またまたお世話になっちゃいましたね。

補足日時:2001/03/24 22:00
    • good
    • 0

C言語ってクラスという考えが無いんですよね。

C++なら有るんですけど・・・

メソッドが羅列してある。
メンバ変数は無いのでグローバル変数、もしくは構造体にする。

私もあまりJavaはやってないのでこんな感じでしょうか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaのダウンロードについて

さっきパソコンの電源をいれたら

ダウンロード準備完了  Java(TM) Update

Java(TM) Updateを使って最新版をコンピュータにダウンロードすることができます。
最適なセキュリティーとパフォーマンスのため、今すぐ最新版をダウンロードすることをお勧めします。

Java(TM)6 Update 2 Available
Java(TM)6 Update 2 includes features and fixes to accelerate
your Java applications as well as updates to keep Java secure.

後で通知する   ダウンロード

という表示がでたのですが、ダウンロードしても問題ないのでしょうか?

Aベストアンサー

こんばんは
お持ちのPCにJavaがインストールされていれば Updateは自動で配信されます 
Java(TM)6 Update 2は今のJavaの最新ですから ダウンロードしても問題は有りません
ただ Javaはかなりの容量を使いますから(140MB位)新しいのを入れたら 以前のバージョンは削除した方がいいですよ
UpdateでHDDが一杯に成ってしまいますからね
                            参考まで

QC言語とJAVA言語について

一通りC言語を学習したのちで、最近JAVA言語をかじり始めたのですが、C言語とJAVA言語の違いが今一つ分かりません。違いをできるだけ多く、JAVA言語初心者である私に分かるレベルで教えてもらえないでしょうか。よろしくお願いいたします。

Aベストアンサー

・C
構造化プログラミング言語
・JAVA
オブジェクト指向プログラミング言語

QJAVAダウンロード出来ません。

JAVAソフトウェアダウンロードのページでダウンロードを試みましたが、
http://www.java.com/ja/
ダウンロードを開始すると
"設定を確認中"と出てダウンロードが開始されません。
どうすればダウンロードできますか?

Aベストアンサー

手動で一旦ダウンロードしてから、インストールもできませんか?
http://www.java.com/ja/download/manual.jsp

Qjava言語 こんにちは。 java言語をまだ習ってなく先生からこれをそのまま打ち込めって言われたん

java言語

こんにちは。
java言語をまだ習ってなく先生からこれをそのまま打ち込めって言われたんですが、一行目がどうしてもエラーが出てしまいどうすればいいのがわからないです。
よろしくお願いします

Aベストアンサー

これ、androidstudio かな?
javaの初心者が触るIDEではないと思いますが⚪⚪⚪⚪
いきなりandroid開発なんですか? 無謀だと思います。

IDEではパッケージ名は普通手で入力したりしません。
まず、パッケージを作り、その下にJavaファイルを作れば
勝手にpackage文が挿入されます。

パッケージ名はjavaファイルのフォルダ名なので
javaファイルを作成するフォルダで決まってしまいます。

QJAVA開発キットのダウンロード法。

プログラミング全くの初心者ですが、JAVAを始めてみたいと思っています。ところがJAVAの入門書を手に入れたところ、JAVAの開発キットをダウンロードしようとしてみましたが、入門書が古いせいか、そのダウンロードサイトの様子が変わっていたり、また英語表記だったりして自分なりにいろいろとやってたものの、よくわかりません。どなたか、最新のJAVA開発キットのダウンロード法を詳しく教えて頂けないでしょうか…。使用OSは、WindowsXPです。

Aベストアンサー

Windows版でいいんですよね?
下記のURLから、

・「JDKのダウンロード」をクリック
・「ACCEPT」にチェック
・Windows Platform - J2SE(TM) Development Kit 5.0 Update 6の「Windows Offline Installation, Multi-language」をクリック
・もう一度 Windows Platform - J2SE(TM) Development Kit 5.0 Update 6の「Windows Offline Installation, Multi-language」をクリック

で、ダウンロード出来ます。

参考URL:http://java.sun.com/j2se/1.5.0/ja/download.html

QC言語とJavaの違い

C言語とJavaの違いの1つとして間違えていたら教えて下さい。
「C言語はコンパイル時に環境に応じて異なるモジュールが作成される危険性がでる場合があるのに対して、JavaはJavaVMという処理系でプラットフォームの違いを吸収されるので、JavaVMが搭載されていればどの環境でもJavaプログラムは動かすことができるでよいのでしょうか?」

Aベストアンサー

>C言語はコンパイル時に環境に応じて異なるモジュールが作成される危険性がでる場合がある

まずこれが少し違います。
C言語をはじめとする古い言語全てですが、対象環境に応じたコンパイルを行います。ので、「異なる危険性」ではなく、単純に「異なる」のです。例えばWindows用にコンパイルしたモジュールはUNIX上では絶対に動きません。


Javeの本来のウリは、ご存知のことと思いますが「Write Once, Run Anywhere.」です。で、実際にどの環境でも動かすことができます。しかし環境依存の処理を行っていれば環境により「正常には」動かなくなることがあります。まぁ当たり前の話ですが…。

例えば、オラクル独自拡張のSQLを記述していれば他のDBを使用するようにしたら動きませんし、Windows独自形式のファイルパスの記述形式でファイルを指定していたら、UNIX上ではファイルの読込みに失敗するでしょう。

ですので、実際の開発の現場では、このような環境依存の処理を回避することができる対応能力が求められます。

QJAVAのコンパイラのダウンロードについて

 最近、JAVAを勉強しようと思い、JAVAのコンパイラができるというJDKと呼ばれるものををダウンロードしようとしたのですが、ページが英語のせいでどうすればダウンロードできるのか全く分かりません。

 今のところ、勉強するだけなので無償と言うこれをダウンロードしたいのですが、いったいどこをどうすれば落とせるんでしょうか。

 あと、ほかにもForte for Javaを使えば便利と聞いたのですが、確かJAVAはテキストエディタとJDKがあれば作れると聞いたのですが、これはどういうことなのでしょうか。

 JAVAを始める以前の問題のような気もしますが、初心者なので誰か教えてください。

Aベストアンサー

http://java.sun.com/j2se/1.3/ja/download-windows.html を開いたら、
ページのやや下のほうにある、

Java 2 SDK, v 1.3.1_02 ソフトウェア Windows 95 / 98 / 2000 / NT 4.0 /Me (Intel プラットフォーム) 版のダウンロード

のところにあるcontinueボタンを押します。
そうすると、英語で使用契約書が表示されるので、
ページの最下部にあるACCEPT(同意する)というボタンを押すと、ダウンロード画面に進みます。
たくさんボタンが並んでいますが(やっぱり英語)、どれか1つをクリックするとダウンロードが始まります。

こんな感じでダウンロードがんばってください。

QJavaやC言語を覚えるには

WEBアプリやスマートフォンのアプリをこれから作りたいと考えています。
ITの知識は殆ど無く、(ホームページビルダーでHTMLと少し触れ合っている位です)
世に出ている初心者本を参考にサンプルコードをいじったりしているのですが、
どうにも基礎が無いとだめだなぁと思い社会人向けの講習受講を検討しています。
ただ、金額が高いのとこういった講習を受けるのが始めてなので
選ぶポイントが分からず、、おすすめの講習があれば教えて頂けますでしょうかm_ _m
取り急ぎ、スマートフォンのアプリは半年位で自力でリリースできるレベルまでになりたいと考えています。

Aベストアンサー

私も最近Androidのアプリ開発を始めたので参考になれば、と思います。

私の場合はC言語の基本的な構文は理解できる程度でした。
しかし、Javaに触れるのは初めてで、クラス?何それ?くらいのレベルから始まりました。
1か月程度で作りたかったアプリが完成し、仲間内で使用しています。

参考にしたのは以下のサイトです。(技術評論社の連載より)
http://gihyo.jp/dev/serial/01/androidapp

開発環境構築からコーディング、テスト、マーケットへの公開までほどよく簡単に説明されています。
構文の理解といった点ではあまり参考にならないかもしれませんが、開発の流れは把握できると思います。

私はまず開発の流れを把握した後、実装したい機能について検索してその都度構文を理解して実装して~と繰り返していきました。
分厚い本を読み進めるよりはモチベーションが維持できていいのではないかと思います。

今やネットに情報はあふれています。すべてを信じるのも良くないですし、必ずしもこの方法がいいとは言いませんが、本を買わずとも、ましてや講習を受けずとも開発者になれる時代だと思っています。
頑張ってください。

私も最近Androidのアプリ開発を始めたので参考になれば、と思います。

私の場合はC言語の基本的な構文は理解できる程度でした。
しかし、Javaに触れるのは初めてで、クラス?何それ?くらいのレベルから始まりました。
1か月程度で作りたかったアプリが完成し、仲間内で使用しています。

参考にしたのは以下のサイトです。(技術評論社の連載より)
http://gihyo.jp/dev/serial/01/androidapp

開発環境構築からコーディング、テスト、マーケットへの公開までほどよく簡単に説明されています。
構文の理解とい...続きを読む

Qjavaのapiをダウンロードしたいです。

Java EEをダウンロードするのではなくてJava SEをダウンロードして、必要に応じてapiをダウンロードしたいのですが、apiはどこからダウンロードすればよいのでしょうか?

javaxが含まれるのを使いたいです。

かなり調べたのですが、意外とどこにも回答がなく困っております。
初心者ですが、よろしくお願いします。

Aベストアンサー

eclipse なんかの初期設定だと、APIドキュメントはネット上のものが見れるようになっています。
API を zip でダウンロードしておきたいということなら、以下のページからダウンロードできます。(Java SE 7 を除く)
http://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html

---
Java SEのバージョン 1.3.0、1.4.0、5.0、6 の日本語ドキュメントは、こちらのページでアーカイブ・ファイルも提供しています。
---
このように書いてある部分のリンクをクリックしてください。

QC言語のsprintfに相当するJAVAのメソッドは何か

C言語ではデータを編集してメモリに出力する関数sprintfがある。
char rec[100] ;
int i=1, j =2, k =3 ;
sprintf(rec, "%3d %3d %3d", i, j, k )
と書くと、変数i,j,kの値が編集されてrecに入る。
このsprintfに相当するJAVAのメソッドはあるか。

Aベストアンサー

http://okwave.jp/qa3824363.html
か?


人気Q&Aランキング

おすすめ情報