BaseType.java

import java.util.ArrayList;

import java.util.Scanner;

public class BaseType{

//字符串强制转换为整形

public int stringtoint(String s){

int a=Integer.parseInt(s);

return a;

}

//字符串强制转换为双精度

public double stringtoduoble(String s){

double a=Double.parseDouble(s);

return a;

}

//将字符串转成ASCII的Java方法

public String stringToAscii(String value){

StringBuffer sbu =new StringBuffer();

char[] chars=value.toCharArray();

for(int i=0;i<chars.length;i++){

if(i!=chars.length-1)

{

sbu.append((int)chars[i]).append(",");

}

else{

sbu.append((int)chars[i]);

}

}

return sbu.toString();

}

//将ASCII转成字符串的Java方法

public String asciiToString(String value){

StringBuffer sbu =new StringBuffer();

String[] chars=value.split(",");

for(int i=0;i<chars.length;i++){

sbu.append((char)Integer.parseInt(chars[i]));

}

return sbu.toString();

}

public static void main(String[] args){

// boolean,byte,char,short,int,float,double,long

//隐形转换

// 强制转换

// System.out.println(bt.stringtoint("123546"));

// System.out.println(bt.stringtoduoble("123546.66"));

// int k=(int)10L;

// System.out.println(k);

// double d=67.89f;

// System.out.println(d);

// float f1=83.564234523;//该行代码报错:可能损失精度。原因为:                                         //83.564234523(默认为double类型)

// System.out.println(f1);

// float f=83.564234523f;

// System.out.println(f);

//  int m=10;

//  int n=3;

//  System.out.println(m&n);

//  int i2=010;

//  int i3=012;

//  System.out.println(i2&i3);

//  int l=0x12;

//  int k=0x10;

//  System.out.println(l&k);

BaseType  bt= new BaseType();

System.out.println("请输入字符串:");

Scanner scan= new Scanner(System.in);

String str=scan.next();

String asciiResult=bt.stringToAscii(str);

System.out.println(asciiResult);

System.out.println("请输入ASCII码:");

Scanner scan2= new Scanner(System.in);

String str2=scan2.next();

String stringResult=bt.asciiToString(str2);

System.out.println(stringResult);

/**

ArrayList  al=new ArrayList();

for(int i=0;i<1000;i++){

al.add(i+40870);

}

Object [] objs=al.toArray();

String [] strs=new String[objs.length];

for(int i=0;i<objs.length;i++)

{ strs[i]=objs[i].toString();}

StringBuffer sbu1 =new StringBuffer();

for(int i=0;i<strs.length;i++){

char m=(char)Integer.parseInt(strs[i]);

if(m==‘?‘)

{

m=(char)(i+39968);

break;

}

sbu1.append(m);

sbu1.append((char)Integer.parseInt(strs[i]));

}

String s=sbu1.toString();

System.out.println(s);

**/

}

}

时间: 2024-12-12 16:38:13

BaseType.java的相关文章

java的自动类型转换

package BaseType; /*java的自动类型提升和窄化转换 * * 1. 当一个char,short,byte类型的变量被赋值给一个超出他自身能表示的最大范围的数,java会自动将该数转化为int型. * * 2. 当char,short,byte类型的变量进行算术运算, 位操作运算 包括他们的复合运算的时候,会自动提升成int类型 * 但是算术运算,位操作运算和他们的复合运算不同, 具体不同之处如下代码. * 算术运算符包括:+,-,*,/,%,+(一目运算符),-(一目运算符)

ASCII码从19968开始汉字--40870结束汉字

ASCII码从19968开始汉字--40870结束汉字 共有20902个汉字 中==20013 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\Administrator>cd D:\day4 C:\Users\Administrator>D: D:\day4>javac BaseType.java 注: BaseType.java使用了未经检查或不安全的操作. 注:

了解Java Class文件结构

我们都知道Java文件经过编译后是一个二进制的class文件,但多数情况下我们更了解Java语法,它能帮助我们编写漂亮的代码,但知道Java更底层的东西我们就能写出更高效的代码.在研究findbugs工具时,由于其使用BCEL来处理class文件,这就要求我们对class文件的基本结构有一定的了解.这里纯粹是记录我在学习class文件结构的一些总结,要更系统深入的学习可以查看官方文档The Java Virtual Machine Specification. class文件是有8个字节为基础的

java重载中的基本类型的自动类型转换

当传递到函数的参数的数据类型表示的范围小于函数形参的参数类型遵循如下原则 : char类型比较特殊, 直接转换为int:  char ->int ->long->float->double 其他的基本数据类型都遵循这个规则: byte->short->int->long->float->double 如果是整型常量: int->long->float->double 浮点型常量: 比如0.5等没有明确指出是何种类型的常量. 直接处理成

java反射基础知识(四)反射应用实践

反射基础 p.s: 本文需要读者对反射机制的API有一定程度的了解,如果之前没有接触过的话,建议先看一下官方文档的Quick Start. 在应用反射机制之前,首先我们先来看一下如何获取一个对象对应的反射类Class,在Java中我们有三种方法可以获取一个对象的反射类. 通过getClass方法 在Java中,每一个Object都有一个getClass()方法,通过getClass方法我们可以获取到这个对象对应的反射类: 1 2 String s = "ziwenxie"; Class

Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十四)之Type Information

Runtime type information (RTTI) allow you to discover and use type information while a program is running This take two forms: 1. "traditional" RTTI, which assumes that you have all the types available at compile time, 2. the reflection mechanis

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start(); 1 2 3 4 5 6 7 new Thread(new