我的java学习之旅--一些基础
(因为我粗略学过C,C++,Python,了解过他们的一些语法,所以为了使得java的入门更为顺畅,便会忽略一些和C语法相类似的地方,着重点明一些java自己的特色之处。也减轻一下自己写文字的负担。)
JAVA是一门静态的强类型的面向对象的重量级的编程语言。
一般写JAVA程序需要的组件是JDK,到甲骨文的网站上下载即可。
初级阶段使用文本编辑器即可,当然,我正处在这个阶段。
此时用来编译运行JAVA文件常用的两条命令是
javac -encoding utf-8 filename.java
java filename
以上命令就是先使用javac在java文件当前目录下,编译生成字节码文件filename.class,之后再用java解释执行成特定平台的机器码,输出。
这里指定了编码格式,因为java默认文件为unicode编码,但是文件中有中文,会有错误提示。
错误:编码GBK的不可映射字符
若是你没有这个问题,则可以忽略那个-encoding utf-8
java源文件的命名
和c,c++,python不同,java要求,源文件后缀名为.java,文件名字一般要求和文件中的 public class 同名,若是没有定义,那就没有限制了。这也可以看出,一个java源文件中只能最多有一个 public class。通常建议一个java源文件只定义一个类,让java的源文件主文件名与该源文件中定义的 public class同名。
java程序的结构
java程序必须以类的形式存在,类是java程序的最小单位,java不允许除类外的可执行语句,方法等成分独立存在。他们必须放在类定义里。
例子:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
观察上例,与文件同名的 public class HelloWorld,内部包含一个main()方法,使用System.out.println("Hello World");实现对于文本的输出,类似的有个System.out.print("Hello World");,差别就在于前者会换行。
目前用到的main()函数都是这样写的,关于详细内容之后的文章会介绍。
若是存在多个类怎么办?
可见下例:
class Dog{
public void jump(){
System.out.println("正在执行jump方法");
}
public void run(){
this.jump();
System.out.println("正在执行run方法");
}
}
public class DogTest{
public static void main(String[] args){
Dog dog = new Dog();
dog.run();
}
}
因为只允许有一个public class,故而其他的就是普通的类的形式。
java中的流程控制语句
if (...){
...
}
else if{
...
}
else{
...
}
switch (...){
case ...:{
...
break;
}
...
default:{
...
}
}
while (...){
...
}
do{
...
}while (...);
for (...; ...; ...){
...
}
Java中出现了一种迭代式的for的用法。python和C++都有类似的语法结构。
for ( type variableName : array | collection){
// variableName 自动迭代访问每个元素
}
例如:
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"轻量级",
"fengkuang",
"jiangyi"};
// 使用foreach迭代遍历。
for(String book : books)
{
System.out.println(book);
}
}
}
我的java学习之旅--一些基础的更多相关文章
- Java学习之旅开篇:运行机制及环境搭建
在写这篇博客之前,我想对自己进行简单概括:我从事软件开发工作已经三年多了,并且一直在从事.NET相关项目的开发.为什么突然间想学习Java呢?有以下几个原因: 1. 开发程序三年多来,已经对.NET相 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- 2019/3/7 Java学习之多线程(基础)
Java学习之多线程 讲到线程,就必须要懂得进程,进程是相当于一个程序的开始到结束,而线程是依赖于进程的,没有进程,就没有线程.线程也分主线程和子线程,当在主线程开启子线程时,主线程结束,而子线程还可 ...
- Java学习之旅基础知识篇:面向对象之封装、继承及多态
Java是一种面向对象设计的高级语言,支持继承.封装和多态三大基本特征,首先我们从面向对象两大概念:类和对象(也称为实例)谈起.来看看最基本的类定义语法: /*命名规则: *类名(首字母大写,多个单词 ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- Java学习之旅基础知识篇:数组及引用类型内存分配
在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点.数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然 ...
- java学习之路--简单基础的面试题
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...
- java学习(一)--- 基础语法
学习内容来 自菜鸟教程 http://www.runoob.com/java/java-object-classes.html Java基础 Java:一个Java程序可以认为是一系列的对象组合, ...
- java 学习第一篇简单基础
Java基础 Java Java 和C#有着极为相似的语法. 和C#都是面向对象的高级程序语言. JAVA是一个开源,公开的语言,有着极其丰富的开源库和其他资源. JAVA分类 JAVA分SE EE ...
随机推荐
- [转]boost::python开发环境搭建
转自:http://www.cnblogs.com/gaoxing/p/4317051.html 本来想用mingw编译boost::python模块,网上看了下资料太少,只有使用vs2012 操作环 ...
- SpringBoot RestFul风格API接口开发
本文介绍在使用springBoot如何进行Restful Api接口的开发及相关注解已经参数传递如何处理. 一.概念: REST全称是Representational State Transfer,中 ...
- centos-rpm安装的mariadb,php52源码编译安装时注意点
1.不要静态指定with-mysql 以扩展的mysql.so的形式安装 2.找不到header file之类的 要yum install mysql-devel find / -name mysql ...
- C#编程经验-enum and struct
enum,store fixed values,use array replace,not use this data-structurestruct,store several variables, ...
- 【剑指offer】判断出栈序列是否合法
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应 ...
- python configparser使用
.ini文件由若干section(部分)组成, 而每一个section又由若干键值对组成. 以 example.ini为例: [DEFAULT] ServerAliveInterval = 45 Co ...
- 在KVM里装个pfSense
第一步:安装配置 virsh destroy router-wan1- virsh undefine router-wan1- qemu-img create -f qcow2 -o size=8G ...
- alertjs Documentation
原文地址:https://github.com/PaulNieuwelaar/alertjs/wiki/Documentation#alertshow For version 3.0 document ...
- DevExpress的42种窗体样式
在Winform环境下DevExpress标题栏皮肤 第一步:引用DLL文件,安装DevExpress后在引用>程序集>扩展: DevExpress.BonusSkins.v12.2.dl ...
- jquery:获取checked复选框的问题
jquery:获取checked复选框的问题 功能描述:要完成一个全选的功能,但总是获取不到复选框的被选中的个数,究其原因,是Jquery中length和checked使用不当所造成的. // 获取所 ...