java开发第一步就是学习相关知识,打牢基础是关键,下面就和小编我一起从java基础学起吧,一起加油!

java方向主要包括三大块:

java se 桌面开发

java ee web开发

java me 手机开发

java开发工具包括:

记事本

jcreator

jbuilder

netbean

eclipse(最多)

jdk:

jre(java运行环境)

java的工具,java的编译器:javac.exe java解释执行器:java.exe

java的类库(3600多类)常用150个

JDK API 1.6.0(帮助文档)

注:public:表示这个类是公共的,一个java文件中只能有一个public类

class:表示这是一个类

hello:类名(公共类的类名必须和文件名一致)

编译java文件:

编译xx.java  javac xx.java

执行xx.java程序  java xx

java虚拟机(jvm):字节码文件(.class)就会在java虚拟机中执行

<只需将.class文件交给别人而无需将.java文件交出>

public class

{

//一个主函数,相当于是程序的入口

public static void main(String args[])

{

//执行语句

//System.out.println("hello!");

int a=10;//定义一个变量,变量名a,它的值10

int b=20;

int result=a+b;

//输出结果

System.out.println("结果是"+result);

}

}

  

java基本数据类型:

整数类型(byte 一个字节8bit-128~127,short两个字节 ,int四个字节 ,long 八个字节)

小数(浮点)类型 (float ,double)

布尔类型 (真 ,假)

字符类型 (char 是两个字节,可以存放汉字, 一个char只能接收一个字符)

<结论:在java中,对char进行运算时直接当做ascii码对应的整数对待>

精度:byte<short<int<long<float<double

import java.io.*;

public class Demo1

{

   public static void main(String []args)

   {

     try{

     //输入流,从键盘接收数

      InputStreamReader(System.in);

      BufferedReader br=new BufferedReader(isr);

      //给出提示

      System.out.println("请输入第一个数");

      //从控制台读取一行数据

      String a1=br.readLine();

      System.out.println("请输入第二个数");

      String a2=br.readLine();

      //把String->float

      float num1=Float.parseFloat(a1);

      float num2=Float.parseFloat(a2);

      if(num1>num2)

      {

         System.out.println("第一个大");

       }

      if(num1==num2)

      {

         System.out.println("相等");

       }

      if(num1<num2)

      {  

         System.out.println("第二个大");

       }

     }catch(Exception e)

      {

        e.printStackTrace();

       }

   }

}

java三大流程控制:

顺序控制

分支控制:单分支,双分支,多分支

(条件表达式数据类型应当和case后的常量类型一致)

switch中的可用数据类型主要是:允许byte,short,int,char,enum(枚举)等

循环控制:for循环,while循环,do while循环

半个金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

     for(int i=1;i<=lay;i++)

      {

        //打印*

        for(int j=1;j<=i;j++){

          System.out.print("*");

         }

         //打出一个换行

         System.out.println();

       }

    }

}

金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

     for(int i=1;i<=lay;i++)

     {

       //找出空格规律

       //1->3  2->2  3->1  4->0

       for(int k=1;k<=i;k++){

         System.out.print(" ");

         }

       //打印*

       //1->1  2->2  3->5 4->7

       for(int j=1;j<=(i-1)*2+1;j++){

         System.out.print("*");

       }

        //打出一个换行

         System.out.println();

        }

       }

  }

java面向对象编程-类与对象

类名首字母大写

类是抽象的,对象是具体的。类是对象的模板,对象是类的一个个体、实例

类的定义:

package 包名;

class 类名 extends 父类 implements

接口名{

成员变量;

构造方法;

成员方法;

}

类-类

类的成员方法-声明

public int test(int a);/*方法声明*/

(访问修饰符+数据类型+函数名+(参数列表);)

类的成员方法(函数)-特别说明

1.方法的参数列表可以是多个

类的构造方法:是类的一种特殊方法,主要作用是完成对新对象的初始化

特点:

1、方法名和类名相同

2、没有返回值

3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化

类的构造方法小结:

构造方法名和类名相同

构造方法没有返回值

主要作用是完成对新对象的初始化

在创建新对象时,系统自动调用该类的构造方法

一个类可以有多个构造方法

每个类都有一个默认的构造方法

this的重要性:

public class Demo3_1

{

   public static void main(String []args)

   {

    Person p=new Person(dog,23,"wang");

    p.showInfo();

    }

}

//定义一个人类

class Person

{

  int age;

  String name;

   public Person(int age,String name)

   {

     //可读性不好

       this.age=age;

       this.name=name;

     }

     //显示人名字

     public void showInfo()

     { 

         System.out.println("人名是:"+name);

      }

   }

类变量

静态变量:

public class Demo3_2

{

  static inti=1;

  static

  {

   System.out.println("a");    

//该静态区域块只执行一次

     i++;

   }

   public Demo3_2()

   {

     System.out.println("b");

     i++;

    } 

    public static void main(String []args)

    {

       Demo3_2 t1=new Demo3_2();

       System.out.println(t1.i);

       Demo3_2 t2=new Demo3_2();

       System.out.println(t2.i);

     }

}

类方法:

//学生

class Stu

{

   int age;

   String name;

   int fee;

   static int totalFee;

   public Stu(int age,String name,int fee)

   {

     this.age=age;

     this.name=name;

     totalFee+=fee;

    }

    //返回总学费[加static表明这是一个类方法(静态方法)]

    //java中规则:类变量原则上用类方法去访问

    public static int getTotalFee()

    {

      return totalFee;

     }

  }

注意:类方法中不能访问非静态变量(类变量)

使用:类名.类名方法  或者  对象名.类方法名

类变量与实例变量区别:

加上static称为类变量或静态变量,否则称为实例变量

类变量是与类相关,公共的属性

实例变量属于每个对象个体的属性

类变量可以通过类名.类变量名直接访问

JAVA(1)的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. canvas动画

    1.动画主要是requestAnimationFrame方法,现在我们来一步步实现一个在画布内滚动的实例. html代码: <canvas id="canvas" width ...

  2. .htacess的url重写(支持伪静态)

    html网页纯静态: 1.加载的时候不需要调用数据库,打开速度快,另外减少了服务端脚本的匹配时间.2.减少了服务器对数据响应的负荷.3.从安全角度讲,纯静态网页不易遭受黑客攻击.4.从网站稳定性来讲, ...

  3. C++中的字面值指定类型

    C++中只有内置类型存在字面值,没有类(class)类型字面值.例如:0是int类型的字面值,3.14159是double类型的字面值. 字面值类型很多 整型浮点字面值 20             ...

  4. 学习笔记 android fragment

    最近研究了一下fragment的使用方法,总结概要如下: 1.fragment实际上就是把activity拆开后的封装块,一个fragment就是一个封装好的一部分.这样以来可以方便复用. 2.fra ...

  5. Haskell List相关操作

    一.List中只能存放相同类型的元素. ++:将两个List合并成一个List.例,[1,2,3]++[4,5,6],结果是[1,2,3,4,5,6].  : :将“:”前面的元素添加到“:”后面的L ...

  6. visor 发布

    2014-4-10 visor.com.cn  的域名备案终于审核通过了.http://www.visor.com.cn 终于可以访问了,欢迎大家使用免费的线框图应用设计工具.

  7. HOJ 1001: A+B; 1002: A+B+C

    两道水题,用来熟悉 HOJ 的提交系统. 1001:输入两个整数 A, B (0 <= A,B <= 10),输出 A+B. #include <iostream> using ...

  8. 学习asp.net比较完整的流程[转]

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...

  9. 杭电ACM1002

    原题:http://acm.hdu.edu.cn/showproblem.php?pid=1002 #include <stdio.h> #include <string.h> ...

  10. Parse xml/json[xpath/jpath]

    import groovy.util.XmlSlurper import groovy.util.XmlParser import com.eviware.soapui.support.GroovyU ...